Laravel 保存模型而不触发事件

nik*_*ame 7 laravel

withoutEvents我感兴趣的是使用和保存模型之间是否有区别saveQuietly。接下来两段代码的主要区别是什么:

$user = User::withoutEvents(function () use () {
    $user = User::findOrFail(1);
    $user->name = 'Victoria Faith';
    $user->save();
    return $user;
});
Run Code Online (Sandbox Code Playgroud)

和:

$user = User::findOrFail(1);    
$user->name = 'Victoria Faith';    
$user->saveQuietly();
Run Code Online (Sandbox Code Playgroud)

jer*_*edy 13

SaveQuietly是接受选项的闭包的包装器WithoutEvents

trait SaveQuietly
{
    /**
     * Save model without triggering observers on model
     */
    public function saveQuietly(array $options = [])
    {
        return static::withoutEvents(function () use ($options) {
            return $this->save($options);
        });
    }
}
Run Code Online (Sandbox Code Playgroud)