Book
has_many Reviews
があり、Book
にクラスメソッドを追加して私のホームページに「最近レビュー」した本を表示しました。私はこれを試してみた:Rails:結合テーブルを注文した後に重複を削除する
def self.recently_reviewed
Book.joins(:reviews).order('reviews.created_at DESC').limit(5)
end
多くの重複したレコードを生成するので、私はそうのようなdistinct
を使用してみました:
Book.joins(:reviews).order('reviews.created_at DESC').distinct.limit(5)
私も前にそれを試してみましたが、.order
後、どの
ActiveRecord::StatementInvalid: PG::InvalidColumnReference: ERROR: for SELECT DISTINCT, ORDER BY expressions must appear in select list
私はこれを解決する方法についてちょっと混乱していますが、私は.select
に少し柔軟性を持たせるべきですか?
あなたの団体が正しく設定されていれば、最後の 'n'' Reviews'の' Book.title'を見つけてみませんか? – Andy