It has been 1223 days since the last update, the content of the article may be outdated.

Laravel 靜音模型觸發事件

靜音事件 Muting Events

偶爾需要暫時靜音模型觸發的所有事件。 可以使用 withoutEvents 方法實現此目的。 withoutEvents 方法接受一個閉包作為它的唯一參數。 在此閉包中執行的任何代碼都不會調度模型事件,閉包返回的任何值都將由 withoutEvents 方法返回

php
use App\Models\User;

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

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

保存時靜音單個模型

有時您可能希望儲存給定模型時不調用任何事件。可以使用 saveQuietly 方法完成此操作

php
$user = User::findOrFail(1);

$user->name = 'Victoria Faith';

$user->saveQuietly();