MenuModel.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | LARAVEL8.0 框架 [ LARAVEL ][ RXThinkCMF ]
  4. // +----------------------------------------------------------------------
  5. // | 版权所有 2017~2021 LARAVEL研发中心
  6. // +----------------------------------------------------------------------
  7. // | 官方网站: http://www.laravel.cn
  8. // +----------------------------------------------------------------------
  9. // | Author: laravel开发员 <laravel.qq.com>
  10. // +----------------------------------------------------------------------
  11. namespace App\Models;
  12. use Ramsey\Uuid\Type\Integer;
  13. /**
  14. * 菜单管理-模型
  15. * @author laravel开发员
  16. * @since 2020/11/10
  17. * Class MenuModel
  18. * @package App\Models
  19. */
  20. class MenuModel extends BaseModel
  21. {
  22. // 设置数据表
  23. protected $table = 'menu';
  24. /**
  25. * 获取子级菜单列表
  26. * @param $pid 父级ID
  27. * @return mixed
  28. * @author laravel开发员
  29. * @since 2020/11/11
  30. */
  31. public function getChilds($pid)
  32. {
  33. // 查询条件
  34. $map = [];
  35. // 父级ID
  36. $map[] = ['pid', '=', $pid];
  37. // 菜单状态
  38. $map[] = ['status', '=', 1];
  39. // 只取菜单
  40. $map[] = ['type', '=', 0];
  41. // 有效标识
  42. $map[] = ['mark', '=', 1];
  43. // 屏蔽菜单设置
  44. if(!env('SHOW_MENU_MANAGE', false)){
  45. $map[] = ['id','!=', 20];
  46. }
  47. $list = $this->where($map)->orderBy("sort", "asc")->get()->toArray();
  48. if (!empty($list)) {
  49. foreach ($list as &$val) {
  50. $val['children'] = $this->getChilds($val['id']);
  51. }
  52. }
  53. return $list;
  54. }
  55. }