laravel $user->save()
是如何工作的?
我对以下内容感兴趣。
1) 我知道这个 save() 方法可能会返回异常或 false。我总是希望它返回异常,但我根本不希望它返回 false。我该如何实现这一目标?
2) save() 什么时候返回 false?我认为如果它不起作用,它应该始终返回异常。
最佳答案
对于#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");
}
}
}
或者只是检查是否为 false:
$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
并检查返回 false
的可能性。
关于php - 为什么 laravel save() 会这样工作(有时会返回 false),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53858771/