protected function listeners() { $this->app->booted(function () { CampaignWidget::saving(function ($item) { if ($item->sort === null) { $item->sort = CampaignWidget::where('campaign_id', $item->campaign_id)->count(); } }); CampaignWidget::deleted(function ($item) { CampaignWidget::where('campaign_id', $item->campaign_id)->where('sort', '>', $item->sort)->update(['sort' => \DB::raw('sort - 1')]); }); }); }