我的應用程序使用 laravel 5.8。我有變量稱為“lot”,當我刪除一個時,我想執行其他操作。所以我在我的模型上使用刪除功能,一切正常。但是要知道我的控制器上有一個功能可以刪除許多“批次”,并且我希望僅在刪除所有“批次”時執行操作,而不是在每個“批次”刪除時執行操作。所以我想知道是否有辦法實現這一目標?也許我們可以傳遞一個變量來啟動函數來觸發或不觸發該函數?我的模型看起來像這樣:protected static function boot(){ parent::boot(); static::deleted(function($modele) { Etage::doesntHave('lots')->delete(); } }
1 回答

慕桂英3389331
TA貢獻2036條經驗 獲得超8個贊
模型事件旨在為單個模型工作。
您應該改用 Laravel事件,而不是綁定到模型。
在數組中EventServiceProvider.php
注冊一個新的事件/偵聽器$listens
,例如
LotsDeleted::class => PerformOtherAction::class
創建這些類 php artisan event:generate
然后,當您完成刪除所有Lot
對象時,觸發事件
event(new LotsDeleted());
handle()
您的偵聽器的功能將被調用,您可以執行其他操作。
- 1 回答
- 0 關注
- 170 瀏覽
添加回答
舉報
0/150
提交
取消