Что такое "путь рельсов", чтобы эффективно захватывать все строки родительской таблицы вместе с количеством числа детей, которое имеет каждая строка?
Я не хочу использовать counter_cache
, поскольку я хочу запустить эти подсчеты на основе некоторых временных условий.
Пример блога клише: Таблица статей. В каждой статье есть 0 или более комментариев.
Я хочу уметь вытягивать количество комментариев каждой статьи за прошлый час, день, неделю.
Однако в идеале я не хочу перебирать список и создавать отдельные вызовы sql для каждой статьи, а также не хочу использовать :include
для предварительной выборки всех данных и обработки их на сервере приложений.
Я хочу запустить один оператор SQL и получить один результирующий набор со всей информацией.
Я знаю, что могу полностью закодировать полный SQL и, возможно, использовать .find
и просто установить параметры :joins
, :group
и :conditions
... НО Мне интересно, есть ли "лучший" способ... иначе "путь рельсов"
Заранее спасибо