MenuModel.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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. $list = $this->where($map)->orderBy("sort", "asc")->get()->toArray();
  44. if (!empty($list)) {
  45. foreach ($list as &$val) {
  46. $val['children'] = $this->getChilds($val['id']);
  47. }
  48. }
  49. return $list;
  50. }
  51. }