Как преобразовать следующий запрос в рельсы 3 запроса активной записи? - PullRequest
0 голосов
/ 30 ноября 2011

Я хочу найти последние 20 дней последние данные из таблицы аудита, для которых я написал следующий запрос MySQL:

 SELECT * 
 from   (select * from audits ORDER BY id DESC) as x 
 where  (auditable_type = 'Investment' 
 and    auditable_id =41 
 and    created_at <= '2011-12-01' AND  created_at >= '2011-11-25')  
 group by date(created_at)

Я хочу преобразовать его в запрос рельсов 3 активных записей, как я должен это сделатьЯ получу одинаковый результат от обоих запросов?

1 Ответ

1 голос
/ 30 ноября 2011

Не думаю, что вы можете стать намного лучше (без использования некоторых драгоценных камней, таких как meta_where ):

Audits.where(
    'DATE(created_at) <= ? AND DATE(created_at) >= ? 
     AND auditable_type = ? AND auditable_id = ?',
    Date.new(2011, 12, 01), Date.new(2011, 11, 25), 'Investement', 41
).group('DATE(created_at)').order('id DESC')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...