| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 | 
							- <?php
 
- namespace App\Models\Admin;
 
- use Encore\Admin\Traits\AdminBuilder;
 
- use Encore\Admin\Traits\ModelTree;
 
- use Illuminate\Database\Eloquent\Model;
 
- use Illuminate\Database\Eloquent\Relations\BelongsToMany;
 
- use Illuminate\Support\Facades\Cache;
 
- class AdminMenu extends Model
 
- {
 
-     protected $table = 'admin_menu';
 
-     use AdminBuilder, ModelTree {
 
-         ModelTree::boot as treeBoot;
 
-     }
 
-     /**
 
-      * The attributes that are mass assignable.
 
-      *
 
-      * @var array
 
-      */
 
-     protected $fillable = ['parent_id', 'order', 'title', 'icon', 'uri', 'permission'];
 
-     /**
 
-      * @return array
 
-      */
 
-     public function allNodes() : array
 
-     {
 
-         $order="`order` = 0,`order`";
 
-         return static::orderByRaw($order)->get()->toArray();
 
-     }
 
-     /**
 
-      * determine if enable menu bind permission.
 
-      *
 
-      * @return bool
 
-      */
 
-     public function withPermission()
 
-     {
 
-         return (bool) config('admin.menu_bind_permission');
 
-     }
 
-     /**
 
-      * Detach models from the relationship.
 
-      *
 
-      * @return void
 
-      */
 
-     protected static function boot()
 
-     {
 
-         static::treeBoot();
 
-         static::deleting(function ($model) {
 
-         });
 
-     }
 
-     /**
 
-      * 菜单封装装.
 
-      * return object
 
-      */
 
-     public static function menuArr()
 
-     {
 
-         $order="`order` = 0,`order`";
 
-         $menus = self::orderByRaw($order)->select(['id', 'parent_id', 'title'])->get();
 
-         $menu_array=[];
 
-         foreach ($menus as $menu) {
 
-             $menu_array[$menu['id']]=$menu;
 
-         }
 
-         $menu_res=[];
 
-         foreach ($menu_array as $key => $value) {
 
-             $menu_res[$key] = self::getName($value, $menu_array);
 
-         }
 
-         return $menu_res;
 
-     }
 
-     public static function getName($value, $list)
 
-     {
 
-         if ($value['parent_id'] == 0) {
 
-             return $value['title'];
 
-         } elseif (isset($list[$value['parent_id']])) {
 
-             return self::getName($list[$value['parent_id']], $list)."-{$value['title']}";
 
-         }
 
-         return "";
 
-     }
 
- }
 
 
  |