【发布时间】:2018-10-24 15:39:37
【问题描述】:
我有 2 个表格,例如“用户”和“课程”。 我想要选择通过两门课程的用户。
user
id username
1 John
2 Jane
courses
id name user_id
1 course-1 1
2 course-2 1
3 course-1 2
我用:
(new User)->join('courses', 'courses.user_id', '=', 'user.id')
->whereIn('courses.name', ['course-1','course-2'])
但是这个查询返回 2 个用户而不是 1 个(只有 john)。我想要 whereIn 返回 AND 连接而不是 OR 连接。
我想要这样:
SELECT * from user
join courses as c1 on c1.user_id = user.id
join courses as c2 on c2.user_id = user.id
where c1.name = 'course-1' and c2.name = 'course-2'
在 Laravel 中会怎样?
【问题讨论】:
-
你不是说
c2.user_id = user.id吗? -
哦,对不起,是的。谢谢。
标签: php mysql sql laravel query-builder