两个多对多相关表之间的Laravel雄辩关系
Posted
技术标签:
【中文标题】两个多对多相关表之间的Laravel雄辩关系【英文标题】:Laravel eloquent relationship between two many to many related tables 【发布时间】:2015-03-07 11:34:45 【问题描述】:我有很多相关的两个表,“roles”和“users”,数据透视表为“user_roles”。
在角色模型中
$this->belongsToMany('users', 'user_roles');
在用户模型中
$this->belongsToMany('roles', 'user_roles');
这是一个有效的关系吗?
【问题讨论】:
【参考方案1】:您想要一个数据透视表和多对多关系,就像您说的那样使用数据透视表。
Laravel documentation - Eloquent 中解释了您要执行的操作
【讨论】:
【参考方案2】:没有。第一个参数应该是相关模型的类名:
$this->belongsToMany('User', 'user_roles');
$this->belongsToMany('Role', 'user_roles');
否则,如果你的外键遵循约定,你应该没问题...
See the documentation for more info
【讨论】:
除非您在数据透视表上使用自定义名称,否则您实际上只需要在创建关系时声明您的模型名称。像 $this->belongsToMany('Role'); 好吧user_roles
是自定义名称。默认为role_user
以上是关于两个多对多相关表之间的Laravel雄辩关系的主要内容,如果未能解决你的问题,请参考以下文章