我想获取具有0票的数据。但是,使用此代码时,仅显示投票数超过1的项目。让我知道如何获得包含0票的项目的结果。
def show
@item = @article.items.joins(:votes).group('items.id').order('COUNT(items.id) DESC')
end
答案 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