から最も気に入っニュースの取得2つのモデルがあります。クエリはlikesの数をlikes equals falseからtrueと等しくする必要があります。最も高い数字は最も好きなニュースです。は、クエリ
@count_true_likes = Like.where('likes.like = ?', true).group(:news_id).count
@count_false_likes = Like.where('likes.like = ?', false).group(:news_id).count
結果はidを持つハッシュあると同類をカウント:私が試した何 。私はどのようにネガティブな好きな人からクエリーの好きな好きを差し引いて、すべてのニュースについてそれをするのか分からない。
使用しているDBMSは何? MySQl/Postgresql? –
@ArupRakshit Postgresql –
この 'Like.group(:news_id、:like).select(:news_id、:like、COUNT(like))'を作成し、それをINNERクエリとして使用して実結果。 –