首页 > 解决方案 > 如何加入 3 表 eloquent laravel 8

问题描述

我有 3 张桌子

用户

user_id
name_user
contacts
request_id

请求注册

request_id
user_id
team_id

团队

team_id
name_team

我想获取注册到具有特定 ID 的团队的用户详细信息列表,例如:

id 为 1 的团队

id_user name_user 联系人 team_id name_team
1 迈克尔 1234 1 凤凰
2 约翰 1232 1 凤凰
3 辛迪 1222 1 凤凰

标签: phpeloquentlaravel-8eloquent-relationship

解决方案


你可以使用Laravel 提供的 whereHas()方法,但是你必须指定使用该方法查询所需的关系,大概是这样的:

$teamId = //retrieve the team id...;
$users = User::whereHas('request_register', function() (Builder $query) use ($teamId) {
   $query->where('team_id', $teamId);
})->get();

这将自动连接usersrequest_register得到你想要得到的东西。


推荐阅读