鉴于此表结构:
我的模特有members
关系。
public function members() {
return $this->belongsToMany('App\User', 'group_members')->withPivot('status', 'right_rid')->withTimestamps();
}
当我调用此函数时,它将返回特定函数的成员。
现在我想调用一个名为rights
的函数或类似的函数,它将在一行代码中返回right_id
和rights
表的类型。
现在,当我想要成员的right_id
时,我会使用这一行:
$group->members->where('id', Auth::user()->id)->first()->pivot->right_id
但是我没有rights
类型,因为right_id
位于group_members
表中。
我希望它可以像这样工作:
$group->members->where('id', Auth::user()->id)->first()->rights
我希望这是足够的信息,可以给我一些建议,甚至是解决这个问题的方法。
我知道这也可以通过制作自定义查询来完成,但我喜欢Laravel的工作方式。
答案 0 :(得分:-1)
您可以轻松制作GroupMember
模型并执行以下操作......
GroupMember::where('user_id', Auth::user()->id)->where('group_id', $group_id)->with(['rights', 'groups', 'users'])->get();
这假设您的rights
模型中包含groups
,users
和GroupMember
方法。每个都应该是belongsTo
。