多对多关联
关联定义
例如,我们的用户和角色就是一种多对多的关系,我们在User
模型定义如下:
<?php
namespace app\model;
use think\Model;
class User extends Model
{
public function roles()
{
return $this->belongsToMany(Role::class, 'access');
}
}
- 关联模型(必须):关联模型类名
- 中间表:默认规则是当前模型名+
_
+关联模型名 (可以指定模型名) - 外键:中间表的当前模型外键,默认的外键名规则是关联模型名+
_id
- 关联键:中间表的当前模型关联键名,默认规则是当前模型名+
_id
public function roles()
{
return $this->belongsToMany(Role::class, Access::class);
}
1.中间表 必须继承Pivot
2.在控制器
//查询权限 $qx=User::with(['role','role.power'])->find($table['id'])->toArray();