'boolean', ]; /** * The attributes that are translatable. * * @var array */ protected $translatedAttributes = ['name']; /** * Perform any actions required after the model boots. * * @return void */ protected static function booted() { static::addActiveGlobalScope(); } public static function for($menuId) { return static::findOrNew($menuId) ->menuItems() ->with(['category', 'page', 'files']) ->get() ->noCleaning() ->nest(); } public function menuItems() { return $this->hasMany(MenuItem::class)->orderByRaw('-position DESC'); } /** * Get table data for the resource * * @return \Illuminate\Http\JsonResponse */ public function table() { return new AdminTable($this->newQuery()->withoutGlobalScope('active')); } }