gpt4 book ai didi

php - Laravel Eloquent 使用相同的外键获取多个记录

转载 作者:行者123 更新时间:2023-11-29 11:12:34 24 4
gpt4 key购买 nike

我有 3 张 table :

User
------------------
ID
Name


Room
------------------
ID
Subject



Participate
-------------------
ID
room_id
user_id

这是我的示例数据:

user                        room                    participate
----------------- ---------------- ---------------------
ID Name ID subject ID room_id user_id
----------------- ---------------- ---------------------
1 john 1 room1 1 1 1
2 sara 2 room2 2 1 2
3 david 3 room3 3 3 3
4 3 2
5 3 1
6 2 1

现在我访问了user_id,但我想找到与participate 表中的user_ID 共享的room_id。例如,我有 user_id: 1user_id: 2 并希望获得共享 room_id 1。我已经通过 user_id 过滤参与模型,但我不知道如何找到 room_id。

谢谢

最佳答案

您可以尝试创建这样的查询:

$usersIDs = [$userId, $secondUserId]; //here define user ids how many  you want

DB::table('room')->select('room.*')
->join('participate', 'participate.room_id', '=', 'room.id')
->join('user', 'user.id', '=', 'participate.user_id')
->whereIn('user.id', $usersIDs)
->havingRaw('count(user.id) = ?', [count($usersIDs)])
->groupBy('room.id')
->first();

关于php - Laravel Eloquent 使用相同的外键获取多个记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40284940/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com