// +---------------------------------------------------------------------- namespace app\common\model\system\auth; use app\common\model\BaseModel; class Menu extends BaseModel { /** * @return string * @author xaboy * @day 2020-03-30 */ public static function tablePk(): string { return 'menu_id'; } /** * @return string * @author xaboy * @day 2020-03-30 */ public static function tableName(): string { return 'system_menu'; } public function parent() { return $this->hasOne(self::class, 'menu_id', 'pid'); } public function searchMenuIdAttr($query,$value) { $query->where('menu_id', $value); } public function searchRouteAttr($query,$value) { $query->where('route', $value); } public function getParentAttr() { return self::where('menu_id',$this->pid)->find(); } public function getChildAttr($value,$data) { return self::where(['pid'=>$data['menu_id'],'is_menu'=>1])->find(); } public function getParentsAttr() { $menu_ids = explode('/',$this->path); return self::whereIn('menu_id',$menu_ids)->select()->toArray(); } }