public function update(MenuItem $item, Request $request, Redirector $redirector) { if ($request->input('display_order') > $item->displayOrder) { $item->moveDown(); } else { $item->moveUp(); } return $redirector->route('admin.menu.index'); }
public static function boot() { parent::boot(); static::creating(function (MenuItem $item) { $item->displayOrder = static::getNextDisplayOrder(); }); static::deleted(function (MenuItem $item) { $items = MenuItem::where('display_order', '>', $item->displayOrder)->get(); $items->each(function (MenuItem $item) { $item->decrement('display_order'); }); }); static::addGlobalScope('order', function (Builder $builder) { $builder->orderBy('display_order'); }); }
private function registerMenuFromDatabase() { Menu::register(function () { return MenuItem::all()->all(); }); }