| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- <?php
- // +----------------------------------------------------------------------
- // | LARAVEL8.0 框架 [ LARAVEL ][ RXThinkCMF ]
- // +----------------------------------------------------------------------
- // | 版权所有 2017~2021 LARAVEL研发中心
- // +----------------------------------------------------------------------
- // | 官方网站: http://www.laravel.cn
- // +----------------------------------------------------------------------
- // | Author: laravel开发员 <laravel.qq.com>
- // +----------------------------------------------------------------------
- namespace App\Models;
- use Ramsey\Uuid\Type\Integer;
- /**
- * 菜单管理-模型
- * @author laravel开发员
- * @since 2020/11/10
- * Class MenuModel
- * @package App\Models
- */
- class MenuModel extends BaseModel
- {
- // 设置数据表
- protected $table = 'menu';
- /**
- * 上级
- * @return \Illuminate\Database\Eloquent\Relations\HasOne
- */
- public function parent()
- {
- return $this->hasOne(MenuModel::class, 'id','pid')
- ->where(['status'=>1,'mark'=>1])
- ->select(['id','title','icon','path','type','sort','status']);
- }
- /**
- * 获取子级菜单列表
- * @param $pid 父级ID
- * @return mixed
- * @author laravel开发员
- * @since 2020/11/11
- */
- public function getChilds($pid)
- {
- // 查询条件
- $map = [];
- // 父级ID
- $map[] = ['pid', '=', $pid];
- // 菜单状态
- $map[] = ['status', '=', 1];
- // 只取菜单
- $map[] = ['type', '=', 0];
- // 有效标识
- $map[] = ['mark', '=', 1];
- $list = $this->where($map)->orderBy("sort", "asc")->get()->toArray();
- if (!empty($list)) {
- foreach ($list as &$val) {
- $val['children'] = $this->getChilds($val['id']);
- }
- }
- return $list;
- }
- }
|