多对多关联(模型关联4)
多对多关联(模型关联4)
多对多关联
关联定义
例如,我们的用户和角色就是一种多对多的关系,我们在User模型定义如下:<?php
namespace app\model;
use think\Model;
class User extends Model
{
public function roles()
{
return $this->belongsToMany('Role');
}
}
belongsToMany方法的参数如下:
belongsToMany('关联模型','中间表','外键','关联键');
1.关联模型(必须):模型名或者模型类名
2.中间表:默认规则是当前模型名+_+关联模型名 (可以指定模型名)
3.外键:中间表的当前模型外键,默认的外键名规则是关联模型名+_id
4.关联键:中间表的当前模型关联键名,默认规则是当前模型名+_id
中间表名无需添加表前缀,并支持定义中间表模型,例如:public function roles()
{
return $this->belongsToMany('Role','\\app\\model\\Access');
}
中间表模型类必须继承think\model\Pivot,例如&#x