php - 如何加入 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 | 凤凰 |
解决方案
你可以使用Laravel 提供的 whereHas()方法,但是你必须指定使用该方法查询所需的关系,大概是这样的:
$teamId = //retrieve the team id...;
$users = User::whereHas('request_register', function() (Builder $query) use ($teamId) {
$query->where('team_id', $teamId);
})->get();
这将自动连接users
并request_register
得到你想要得到的东西。
推荐阅读
- oauth-2.0 - 通过microsoft graph api在Outlook联系人中创建/保存联系人时如何获得相同的lastModifiedDateTime
- css - 在启用显着主题的 wordpress 中完成联系表格 7 时,我的文本重叠
- regex - 匹配由管道分隔的重复组
- android - 如何在每 5 分钟服务到活动后发送更新的数据?
- angular - 离子 - Http 发布请求数据保存错误
- python - 获取计数作为单独的结果属性 Django
- jquery - 如何将 id 传递给 jQuery onshow、onload
- javascript - 带有动态数字字段的表单问题
- python - 将成绩单保存到文件 python
- nativescript - RadAutoCompleteTextView 没有 DisplayMode = Plain 的公开事件