Php 能言善辩,删除无效,Laravel 5
我正在使用Elount和laravel 5开发一个web应用程序。问题是,我试图删除名为“Poundersacion”的表中的一行,但当我发送ajax删除请求时,服务器在删除所在行停止(它停止执行路由函数,但服务器继续运行),而不会抛出任何错误 以下是Poundacion的模型:Php 能言善辩,删除无效,Laravel 5,php,mysql,eloquent,laravel-5,delete-row,Php,Mysql,Eloquent,Laravel 5,Delete Row,我正在使用Elount和laravel 5开发一个web应用程序。问题是,我试图删除名为“Poundersacion”的表中的一行,但当我发送ajax删除请求时,服务器在删除所在行停止(它停止执行路由函数,但服务器继续运行),而不会抛出任何错误 以下是Poundacion的模型: <?php namespace App; use Illuminate\Database\Eloquent\Model; class Ponderacion extends Model{ prote
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Ponderacion extends Model{
protected $table = 'Ponderacion';
protected $fillable = array('ponderacionidearea', 'ConfiguracionDeExamenifconf', 'peso');
public $timestamps = false;
}
我可以成功打印Poundacion的属性“比索”,但无法删除它。Poundacion具有指向其他表的外键,但没有其他表具有对Poundacion的引用。我可以用DB::语句删除Pounderacion的一行,但这不安全。成功删除的不会显示在控制台上
提前感谢。对于AJAX测试,我总是希望在可能的情况下首先通过GET请求直接进行测试,然后在我知道底层代码正常工作后在AJAX帖子上进行分层测试 在这种情况下,服务器可能会抛出一个
致命错误
,这将为AJAX请求返回一个500错误,而不会返回更多信息
我会检查一下你的课程包括哪些内容。在Laravel 5中,默认名称空间不是控制器的全局名称空间。您需要在异常
之前添加\
,或将使用异常
添加到类文件的顶部
还有两个提示:
- 在您的模型上使用。如果您从未真正删除过一行,那么最好跟踪和审核您的数据库记录。DB存储空间非常便宜,Laravel在查询时会自动跳过删除的行
- 使用IDE进行开发。一个好的编译器可以在运行时之前捕捉到很多这样的错误
public function deleteConfig(Request $request){
error_log('deleting');
$s_area = Area::where('nombre', '=', $request->input('s_area'))->first();
error_log(count($s_area->Configuracion->first()->Ponderacion));
//DB::statement('delete from Ponderacion where idponderacion = 22');
foreach ($s_area->Configuracion->first()->Ponderacion as $ponderacion){
error_log($ponderacion->peso);
try{
$ponderacion->delete();
}catch(Exception $e){
error_log('failure');
}
}
//$s_area->Configuracion->first()->Ponderacion->delete();
error_log('succesfully deleted');
$s_area->Configuracion->first()->delete();
}