Action.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. namespace app\admin\model;
  3. class Action extends Base
  4. {
  5. //设置字段信息
  6. protected $schema = [
  7. 'id' =>'bigint',//
  8. 'menuid' =>'bigint',//菜单id
  9. 'action_code' =>'varchar',//功能code
  10. 'status' =>'int',//状态
  11. 'is_del' =>'tinyint',//是否删除,0未删除,1删除
  12. 'addtime' =>'datetime',//添加时间
  13. 'updatetime' =>'datetime',//更新时间
  14. ];
  15. protected $createTime='addtime';
  16. protected $updateTime='updatetime';
  17. protected $globalScope = ['is_del'];
  18. public function scopeIsDel($query)
  19. {
  20. // 保持原有逻辑不变
  21. $query->where('is_del', 0);
  22. }
  23. public function MenuInfo(){
  24. return $this->belongsTo(AdminMenu::class,"menuid")->bind(["menu_name","pid"]);
  25. }
  26. public function ActionInfo(){
  27. return $this->belongsTo(ActionList::class,'action_code',"action_code")->bind(['action_name']);
  28. }
  29. public static function GetAction($action){
  30. $list= self::with(["MenuInfo","ActionInfo"])->where(['id'=>$action])->select();
  31. if($list->isEmpty())return[];
  32. $temp=[];
  33. foreach ($list as $item){
  34. $tempC=[
  35. "parent_id"=>$item->pid,
  36. "parent_name"=>"",
  37. "menu_name"=>$item->menu_name,
  38. "menu_id"=>$item->menuid,
  39. "action_name"=>$item->action_name,
  40. "action_id"=>$item->id,
  41. "action_code"=>$item->action_code,
  42. ];
  43. if($item->pid>0){
  44. $tempC['parent_name'] = AdminMenu::where(['id'=>$item->pid,'is_del'=>0])->value('menu_name','');
  45. }
  46. $temp[]=$tempC;
  47. }
  48. return $temp;
  49. }
  50. }