![](/img/trans.png)
[英]Laravel Eloquent $model->save() not saving but no error
[英]Laravel Model->save() returns false but no error
通常,当我调用Model->save()
时,它会成功在数据库中创建新记录。 当什么都没有发生并且Model->save()
返回 false 时,我正在尝试调试一种情况。 我怎样才能知道发生了什么?
$user = new User;
$user->fields = 'example';
$user->save(); // returns false
运行它不会显示任何插入查询。
dd(DB::getQueryLog());
但是,如果我var_dump($user)
,我正确地获得了正确保存在对象中的所有字段。
谢谢!
在$user->save();
错误,您可以尝试像这样捕获异常:
try{
$user = new User;
$user->fields = 'example';
$user->save(); // returns false
}
catch(\Exception $e){
// do task when error
echo $e->getMessage(); // insert query
}
希望这可以帮助 :)
我知道它已经得到了回答,但是如果其他人需要不同的方法,我可以看到 $model->save() 错误与 Laravel 的未被重视的组件:修补程序
php artisan tinker
$old = \App\Model\User::find(1);
$new = $old->replicate();
$new->save();
然后我能够看到错误:
使用消息'SQLSTATE [42S22] 照亮/数据库/查询异常:找不到列:1054 '字段列表'中的未知列'关系'(SQL:插入
temp_users
(...
如果你只是想逃避而不知道发生了什么,你可以试试这个,
$user = new User;
$user->fields = 'example';
if($user->save()){
return true;
}
else{
// returns false
//do something
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.