Rails: как посчитать модель с 0 - PullRequest
0 голосов
/ 29 октября 2018

Я хочу получить данные, которые имеют 0 голосов. Однако при использовании этого кода отображаются только те элементы, которые имеют более 1 голоса. Дайте мне знать, как получить результат, который включает в себя элементы, имеет 0 голосов.

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

1 Ответ

0 голосов
/ 29 октября 2018

Вам нужно выполнить ЛЕВОЕ НАРУЖНОЕ СОЕДИНЕНИЕ вместо ВНУТРЕННЕГО СОЕДИНЕНИЯ,

В рельсах версии 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...