【发布时间】:2018-07-16 03:06:55
【问题描述】:
我正在关注 laravel 的官方文档。
我正在尝试在users 和roles 之间建立关系。
所以,表格是:
users | roles | role_user
role_user 是我的数据透视表。
现在在User 模型中我定义了如下关系:
public function roles() {
return $this->belongsToMany('App\Role');
}
所以这里在返回语句块中显示belongsToMany('App\Role')。但是一个用户只能有一个角色对吗?管理员或订户等
或者在许多角色与许多用户相关联的上下文中称为多对多?
【问题讨论】:
-
由于您使用的是多对多关系,因此一个用户可以拥有多个角色。如果您希望用户只有一个角色,请改用一对多关系。
-
@AlexeyMezenin 因此,如果我的应用程序只需要一个用户角色,那么我可以在这种情况下使用一对一吗?
-
不是一对一,而是一对多。用户
belongsTo()角色和角色hasMany()用户。 -
他说你可以使用一对多!但是你不能使用一对一!
-
谢谢先生现在知道了:)