三十八、ThinkPHP_6 多对多关联查询
2022-11-24 11:10:29
176
{{single.collect_count}}
  1. user:用户表;role:角色表;access:中间表
  2. access 表包含了 user 和 role表 的关联 id,多对多模式
//User 模型中,设置多对多关联//belongsToMany 为多对多关联,//belongsToMany('关联模型','中间表',['外键','关联键']);public function roles(){return $this->belongsToMany(Role::class,Access::class);}
  1. Role.php 和 Access.php 创建一个空模型 。注意:Role 和 User 继承 Model ,而中间表 Access 需要继承 Pivot。
//控制器 user.phppublic function many(){//查询数据$user= UserModel::find(12);$roles = $user->roles;return json($roles);//多对多关联新增,给用户创建一个角色,这种操作一般用于初始化角色$user->roles()->save(['type'=>'测试管理员']);//saveAll()同理//通过用户表新增到中间表关联$user->roles()->save(1);//或$user->roles()->save(Role::find(1));//saveAll()同理//或 推荐$user->roles()->attach(1);$user->roles()->attach(1,['details'=>'测试详情']);//删除$user->roles()->detach(1);}
回帖
全部回帖({{commentCount}})
{{item.user.nickname}} {{item.user.group_title}} {{item.friend_time}}
{{item.content}}
{{item.comment_content_show ? '取消' : '回复'}} 删除
回帖
{{reply.user.nickname}} {{reply.user.group_title}} {{reply.friend_time}}
{{reply.content}}
{{reply.comment_content_show ? '取消' : '回复'}} 删除
回帖
收起
没有更多啦~
{{commentLoading ? '加载中...' : '查看更多评论'}}