Генерация каких-то странных метрик в Rails

У меня есть то, что было бы довольно простыми операторами SQL, но у меня проблемы с обдумыванием их в ActiveRecord. Вот что у меня есть: модель User, которая имеет_многоOrders.

Вещи, которые я хотел бы получить:

  • Подсчет количества заказов, сделанных пользователями, которые никогда раньше не заказывали у нас (сегодня и на этой неделе)
  • Подсчет количества заказов, сделанных постоянными клиентами (сегодня и на этой неделе)

Я чувствую, что это должно быть совершенно нормально, но не могу понять это из документов. Любое руководство будет оценено!


person Tim Sullivan    schedule 07.02.2011    source источник


Ответы (1)


Я не знаю, насколько вы хотите быть уверенными в том, что делаете это «Путь Rails», но я иногда обнаруживал, что удобно знать, как просто поразить базу данных запросом точно так, как мой разум спроектировал это в первое место:

sql = ActiveRecord::Base.connection
results = sql.select_all("select now()")  #Just a quick example.

Вы получите массив хэшей, где хеш-ключи — это заголовки столбцов каждого результата, а массив — это просто один хэш на строку, возвращаемый запросом. Возможно, это не тот ответ, который вы искали, но иногда я устаю пытаться понять, как что-то сделать в Rails Way, и пару раз я был довольно недоволен при обновлении rails. версии заставили меня застрять в сложных запросах, которые я удосужился сделать таким образом. Я лучше напишу один раз и покончу с этим. Ваш пробег может измениться, если ваша команда не терпит таких вещей. знак равно

person Sniggerfardimungus    schedule 08.02.2011