【问题标题】:How to join 3 table eloquent laravel 8如何加入 3 表 eloquent laravel 8
【发布时间】:2021-12-11 11:36:01
【问题描述】:

我有 3 张桌子

用户

user_id
name_user
contacts
request_id

request_register

request_id
user_id
team_id

团队

team_id
name_team

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

id 为 1 的团队

id_user name_user contacts team_id name_team
1 michael 1234 1 phoenix
2 john 1232 1 phoenix
3 cindy 1222 1 phoenix

【问题讨论】:

  • 在 User 模型和 requestRegister 模型中定义适当的关系,然后使用 User::with('request_register.team')->get();

标签: php eloquent laravel-8 eloquent-relationship


【解决方案1】:

你可以使用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 之间建立连接,以获得您想要的。

【讨论】:

    猜你喜欢
    • 2019-10-06
    • 1970-01-01
    • 2019-10-03
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    • 2016-04-03
    • 1970-01-01
    • 2019-03-14
    相关资源
    最近更新 更多