阅读(2697) (9)

Laravel 8 禁用事件

2021-07-07 11:41:16 更新

您可能偶尔希望暂时「禁用」模型触发的所有事件。 您可以使用 withoutEvents 方法来实现。 withoutEvents 方法接受闭包作为唯一的参数。 在此闭包中执行的任何代码都不会触发模型事件。 例如,以下代码将获取并删除一个 App\Models\User 实例,而不会触发任何模型事件。 给定闭包返回的任何值都将通过 withoutEvents 方法返回:

use App\Models\User;

$user = User::withoutEvents(function () use () {
    User::findOrFail(1)->delete();

    return User::find(2);
});