所以belongToMany关系是一个多对多关系,所以需要一个透视表
例如,我们有一个users
表、一个roles
表和一个user_roles
透视表.
数据透视表有两列,分别是user_id
foo_id
...foo_id
指的是角色表中的id
.
为此,我们在user
个Eloquent 的模型中写下以下内容:
return $this->belongsToMany('Role', 'user_roles', 'user_id', 'foo_id');
现在,它在users
表中查找id
字段,并将其与user_roles
表中的user_id
字段联接.
问题是我想指定一个不同的字段,而不是users
表中要连接的id
.例如,我在users表中有bar_id
,我想用它作为local key
与user_id
连接
从拉维尔的文件来看,不清楚如何做到这一点.在其他关系中,比如hasMany
和belongsTo
,我们可以指定local key
和foriegn key
,但出于某种原因,这里不能指定.
我希望用户表上的local key
是bar_id
,而不是id
.
我该怎么做?