0
基本的に私はLaravelでtihsクエリを作成したいが、うまくいきません。今、私が欲しいLaravel。 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();
: 最初のものは、少なくとも役者はこのように関連付けられているデータベース内のすべての映画を得る:「whereNotIn」私はこれらの2つのクエリを書かれている使用
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
;
俳優と関係のない映画を手に入れよう。そのために、前の方法に含まれていないIDを取得しようとしています。
$films_with_no_actors = DB::table('films')
->whereNotIn('films.id', $films_with_actors)
->orderBy('films.id', 'desc')
->take(500)
->get();
-
助けてください。
感謝を。しかし、それは私が2つのquerysを実行する必要があるということですか? MySQLのように、一方を他方の内部に組み込むことはできませんか? –
最初のクエリを作成した後に呼び出すことができます。 $ films_with_actors_ids = $ films_with_actors-> pluck( 'id') - > toArray();のようなことをします。 –