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();
: 첫 번째는 적어도 배우가 같이 연결 한 데이터베이스에있는 모든 영화를 얻을 : A는 "whereNotIn"나는이 두 쿼리를 작성했습니다 사용
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();
-
어떤 도움을?
감사합니다. 하지만 두 번의 조사를해야한다는 뜻인가요? MySQL 에서처럼 다른 것을 내부에 임베드 할 수 없습니까? –
걱정하지 않아도 첫 번째 쿼리를 만든 후에 호출하면 문제가 해결됩니다. $ films_with_actors_ids = $ films_with_actors-> pluck ('id') -> toArray(); –