【发布时间】:2016-12-12 18:26:16
【问题描述】:
基本上我想在 Laravel 中构建 tihs 查询,但它不起作用。
SELECT films.id, films.name AS film
FROM films
WHERE films.id NOT IN
(
SELECT films.id
FROM actors, actor_film, films
WHERE actors.id = actor_film.actor_id
AND actor_film.film_id = films.id
GROUP BY films.id
)
ORDER BY films.id DESC
LIMIT 600
;
使用“whereNotIn”我编写了以下两个查询: 第一个获取数据库中至少有一个这样关联的演员的所有电影:
$films_with_actors = DB::table('films')
->join('actor_film', 'actor_film.film_id', '=', 'films.id')
->join('actors', 'actors.id', '=', 'actor_film.actor_id')
->select( 'films.id')
->groupBy('films.id')
->get();
现在我想获取没有关联演员的电影。为此,我正在尝试获取上一个方法中未包含的 ID,如下所示:
$films_with_no_actors = DB::table('films')
->whereNotIn('films.id', $films_with_actors)
->orderBy('films.id', 'desc')
->take(500)
->get();
-
有什么帮助吗?
【问题讨论】:
标签: mysql laravel query-builder