私が次のものを持っているとしましょう:
class Movie < ActiveRecord::Base
has_many :reviews
end
ユーザーがレビューしたものの前に最初にレビューしなかった、新しく作成された映画をリストしたいと思います。
したがって、これらの 2 つのクエリをマージするようなものです。
@reviewed_movies = Movie.joins(:reviews)
.where("reviews.user_id != ?", user.id)
.order("created_at DESC")
@unreviewed_movies = Movie.joins(:reviews)
.where("reviews.user_id = ?", user.id)
.order("created_at DESC")
@movies = @reviewed_movies.all + @unreviewed_movies.all
1回のクエリでこれを行う方法を知っている人はいますか?