chcę, aby wyświetlić listę z tagów plus liczbę elementów (w moim przykładzie „Zadania”) dla każdego tagu.szyn: find_by_sql i wirtualnych kolumny
W tym celu stworzyłem następujące metody w moim modelu tag:
def self.find_with_count
find_by_sql 'SELECT
Tag.name,
COUNT(Tag.name) AS taskcount
FROM
tags AS Tag
INNER JOIN tags_tasks tt ON tt.tag_id = Tag.id
INNER JOIN tasks t ON tt.task_id = t.id
WHERE
t.finished = 0
AND t.deleted = 0
GROUP BY
Tag.name
ORDER BY
Tag.name'
end
metoda zwraca poprawnych nazw znaczników, ale z jakiegoś powodu nie są taskcounts w wyniku. Wynik wygląda
[#<Tag name: "hello">, #<Tag name: "world">]
Jako takie podejście nie wydaje się działać, zastanawiam się co szynach-way jest do osiągnięcia takiego zadania. Dzięki!
Doskonałe pytanie! Wiem, że to stary post, ale uratował mnie na dużym projekcie, nad którym pracuję ... więc, dzięki! – dennismonsewicz