如果我有多对多表
说
Users
Roles
Role_User
角色有一个名字。 Role_User包含一个数据透视值,即"值"。
我怎样才能轻松找回"一个"来自用户角色的名称角色以及获取透视数据?
像:
$attr = $user->getRole('Admin');
$attr->pivot->value;
foreach可能会起作用,但似乎有更有效的方法吗?没有?
答案 0 :(得分:0)
定义关系时,您需要定义要从数据透视表中拉入的列。
public function roles()
{
return $this->belongsToMany('Role')->withPivot('value');
}
现在,不确定这是否是最佳方式,但如果您知道角色的ID,那么它将变得更容易。
$role = $user->roles()->find(1); // Where 1 is the ID of the admin role
dd($role->pivot->value);
文档更多关于working with pivot tables。