我已经搜索了相关信息,但尝试后,我一直无法得到结果。
我有两个多对多的相关表,我需要列出注册同一个会议的用户(meeting_id)。
以下是用户模型:
public function meetings()
{
return $this->belongsToMany(Meeting::class);
}
这是会议模式:
{
return $this->belongsToMany(User::class);
}
我有一个数据透视表:会议用户,例如:
| 识别号|会议标识|用户ID|
| - ------| - ------| - ------|
| 1个|1个|1个|
| 第二章|1个|第二章|
| 三个|第二章|三个|
| 四个|1个|四个|
| 五个|第二章|四个|
我需要一份名单:user_id 1、2和4,因为它们位于meeting_id = 1上。
我尝试了不同的方法,但无法获得用户列表。
这是我的控制器:
public function getUsersByMeeting(User $user, Meeting $meeting)
{
// $users = Meeting::find($meeting->id)->users->get();
$users = $user->meetings()->where('meeting_id', $meeting->id)->get();
return response()->json($users, 200);
}
我不知道该方法是否需要"User $user"参数(Meeting $meeting yes,以获取$meeting-〉id)。
谢谢!
1条答案
按热度按时间hwazgwia1#
您的方法中已经有
Meeting $meeting
可用。从该变量中,您可以使用->users
直接访问关系,或者如果需要其他筛选,可以使用->users()
访问查询生成器。如果您不需要任何额外的筛选,您可以直接执行
请注意,这将包括有关透视表的信息。
以下是您可以选择的一些选项。