Лучший способ группировки по периодам - PullRequest
1 голос
/ 17 февраля 2012

У меня проблема с группировкой записей по месяцам или годам. Например, у меня есть этот запрос:

records .select("strftime('%Y',date) as year")
        .group("strftime('%Y',date)")
        .order("strftime('%Y',date) DESC")

Это работает, но это специфичный для базы данных код для SQLite. Итак, когда я передаю свой проект на героку, он выдает ошибку. Я могу сделать специальный код для каждой общей базы данных, но он уродлив и сложен.

Я рассматриваю это решение:

group_by { |t| t.due_at.beginning_of_month }

но я думаю, что это очень дорого, потому что я должен вернуть все записи в базе данных, прежде чем сгруппировать.

Я также рассматриваю это решение: http://ariejan.net/2007/01/12/rails-group-results-by-week-using-group_by

Но я думаю, что это то же самое.

У вас есть решение? Может быть, с Драгоценным Камнем, как Squeel?

...