SystemMenu.php 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | saiadmin [ saiadmin快速开发框架 ]
  4. // +----------------------------------------------------------------------
  5. // | Author: sai <1430792918@qq.com>
  6. // +----------------------------------------------------------------------
  7. namespace plugin\saiadmin\app\model\system;
  8. use plugin\saiadmin\basic\think\BaseModel;
  9. /**
  10. * 菜单模型
  11. *
  12. * sa_system_menu 菜单权限表
  13. *
  14. * @property $id
  15. * @property $parent_id 父级ID
  16. * @property $name 菜单名称
  17. * @property $code 组件名称
  18. * @property $slug 权限标识,如 user:list, user:add
  19. * @property $type 类型: 1目录, 2菜单, 3按钮/API
  20. * @property $path 路由地址或API路径
  21. * @property $component 前端组件路径,如 layout/User
  22. * @property $method 请求方式
  23. * @property $icon 图标
  24. * @property $sort 排序
  25. * @property $link_url 外部链接
  26. * @property $is_iframe 是否iframe
  27. * @property $is_keep_alive 是否缓存
  28. * @property $is_hidden 是否隐藏
  29. * @property $is_fixed_tab 是否固定标签页
  30. * @property $is_full_page 是否全屏
  31. * @property $generate_id 生成id
  32. * @property $generate_key 生成key
  33. * @property $status 状态
  34. * @property $remark
  35. * @property $created_by 创建者
  36. * @property $updated_by 更新者
  37. * @property $create_time 创建时间
  38. * @property $update_time 修改时间
  39. */
  40. class SystemMenu extends BaseModel
  41. {
  42. // 完整数据库表名称
  43. protected $table = 'sa_system_menu';
  44. // 主键
  45. protected $pk = 'id';
  46. /**
  47. * Id搜索
  48. */
  49. public function searchIdAttr($query, $value)
  50. {
  51. $query->whereIn('id', $value);
  52. }
  53. public function searchNameAttr($query, $value)
  54. {
  55. $query->where('name', 'like', '%' . $value . '%');
  56. }
  57. public function searchPathAttr($query, $value)
  58. {
  59. $query->where('path', 'like', '%' . $value . '%');
  60. }
  61. public function searchMenuAttr($query, $value)
  62. {
  63. if (!empty($value)) {
  64. $query->whereIn('type', [1, 2]);
  65. }
  66. }
  67. /**
  68. * Type搜索
  69. */
  70. public function searchTypeAttr($query, $value)
  71. {
  72. if (is_array($value)) {
  73. $query->whereIn('type', $value);
  74. } else {
  75. $query->where('type', $value);
  76. }
  77. }
  78. }