--- tags: PHP, Laravel, Backend --- # 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(); ``` [muting-events](https://laravel.com/docs/8.x/eloquent#muting-events)