Rails:如何将模型计数为0

时间:2018-10-29 09:36:32

标签: ruby-on-rails ruby

我想获取具有0票的数据。但是,使用此代码时,仅显示投票数超过1的项目。让我知道如何获得包含0票的项目的结果。

def show
    @item = @article.items.joins(:votes).group('items.id').order('COUNT(items.id) DESC')
end

1 个答案:

答案 0 :(得分:2)

您需要执行LEFT OUTER JOIN而不是INNER JOIN

在Rails 5和大于5的版本中

def show
    @item = @article.items.left_outer_joins(:votes).group('items.id').order('COUNT(items.id) DESC')
end

在轨道4中

def show
    @item = @article.items.joins("LEFT OUTER JOIN votes ON items.id = votes.item_id").group('items.id').order('COUNT(items.id) DESC')
end