laravel $user->save()
如何工作?
我对以下内容感兴趣。
1)我知道此save()方法可能返回异常或false。我一直希望它返回异常,而我从不希望它返回false。我该如何实现?
2)save()何时返回false?我认为如果它不起作用,它应该一直返回异常。
答案 0 :(得分:2)
对于#1,您可以扩展模型并在false时引发异常:
class BaseModel extends \Illuminate\Database\Eloquent\Model
{
public function save(array $options = [])
{
$saved = parent::save($options);
if ($saved === false) {
throw new \Exception("some text");
}
}
}
或者只是检查是否为假:
$saved = $model->save();
if ($saved === false) {
throw new \Exception("some text");
}
对于#2,您可以在此处查看源代码:https://github.com/laravel/framework/blob/master/src/Illuminate/Database/Eloquent/Model.php#L641
并检查return false
的可能性。