php - 为什么 laravel save() 会这样工作(有时会返回 false)

标签 php laravel

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/

相关文章:

php - 在 laravel 中实现命令处理程序的问题

php - 如何添加到关联数组

php - PHP 的 file_get_contents 内存和数据效率高吗?

php - 正则表达式来检测写成单词的数字

php - laravel mongodb jenssegersallowDiskUse true

php - SSL 证书错误 : self signed certificate in certificate chain in using Twilio on my Laravel Website

php - 如何在 PHP 中检测字符串中的分隔符?

javascript - 在 HTML 页面上显示 POM 文件属性的值

php - 如何从 foreach 中获取唯一值

css - Laravel - 使用基于参数的 Controller 更改 View 中的特定 tr bgcolor