Laravel 靜音模型觸發事件

靜音事件 Muting Events

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

use App\Models\User;

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

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

保存時靜音單個模型

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

$user = User::findOrFail(1);

$user->name = 'Victoria Faith';

$user->saveQuietly();