В приведенном ниже запросе rails подсчитывает, сколько отзывов и комментариев имеет публикация, и упорядочивает результаты в порядке DESC.
Например:
публикация 1: 2 отзыва + 10 комментариев = 12(my_count)
вторая публикация: 2 отзыва + 5 комментариев = 7(my_count)
В случае вышеприведенный запрос может найти и отобразить публикацию, как и ожидалось, однако, если:
третья публикация: 0 отзывов + 5 комментариев = 5(my_count)
в этом случае запрос не будет отображать публикацию три, потому что значение обзора равно 0. Как я могу сделать так, чтобы оно отображалось, даже если одно или оба значения равны 0? Итак, в основном я хочу отображать все записи в порядке DESC, независимо от того, равно ли значение 0.
Спасибо за руководство!
@publication = Publication.joins(:reviews, :publication_comments)
.select('"publications".*, count(DISTINCT "reviews".id) + count(DISTINCT "publication_comments".id) as my_count')
.group('"publications".id')
.order("my_count DESC")