tp5.1自关联模型

如果一张表中一个元素下面有多个子元素可以使用自关联模型获取同一张表中的子元素

1、模型中的方法

 	//获取子菜单
    public function children()
    {
   
        return $this->hasMany(self::class,"pid","id");
    }

2、控制器查询

$model = new \app\admin\model\Menu();
        $data = $model->with(['children'])
                ->where('status',1)
                ->order('id','desc')
                ->select()->toArray();

3、查询结果如下

array(6) {
   
  [0] => array(11) {
   
    ["id"] => int(16)
    ["menu_name"] => string(3) "666"
    ["controller"] => string(0) ""
    ["method"] => string(5) "index"
    ["route"] => NULL
    ["pid"] => int(6)
    ["status"] => int(1)
    ["create_time"] => NULL
    ["update_time"] => NULL
    ["delete_time"] => NULL
    ["children"] => array(0) {
   
    }
  }
  [1] => array(11) {
   
    ["id"] => int(13)
    ["menu_name"] => string(12) "系统管理"
    ["controller"] => string(7) "Manager"
    ["method"] => string(5) "index"
    ["route"] => NULL
    ["pid"] => int(0)
    ["status"] => int(1)
    ["create_time"] => NULL
    ["update_time"] => NULL
    ["delete_time"] => NULL
    ["children"] => array(0) {
   
    }
  }
  [2] => array(11) {
   
    ["id"] => int(6)
    ["menu_name"] => string(12) "角色管理"
    ["controller"] =&g
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值