Конвертировать SQL-запрос в ActiveRecord Query Ruby on Rails - PullRequest
0 голосов
/ 20 сентября 2019

У меня есть этот sql-запрос

SELECT count(cast(created_at + interval '8h' AS date)),
       cast(created_at + interval '8h' AS date) AS request_date,
       count(*) AS request_count
FROM api_logs
WHERE api_key = '7bfe68e0-8b54-0137-f0f1-3311231232'
  AND cast(created_at + interval '8h' AS date) BETWEEN '2019-09-05' AND '2019-09-10'
GROUP BY request_date
ORDER BY request_date DESC;

Я хочу преобразовать его в запрос ActiveRecord, который я могу использовать в своей консоли Rails.

1 Ответ

0 голосов
/ 21 сентября 2019

@ Себастьян Пальма ответил правильно, но я столкнулся с некоторыми незначительными ошибками, которые я просто подправил, чтобы получить решение, которое хотел.

 ApiLog
   .where(api_key: '7bfe68e0-8b54-0137-f0f1-3311231232')
   .where("CAST(created_at + interval '8h' AS date) BETWEEN '2019-09-05' AND '2019-09-10'")
   .select(
     "count(cast(created_at + interval '8h' AS date)),
      cast(created_at + interval '8h' AS date) AS request_date, 
      count(*) AS request_count"
   )
   .group(:request_date)
   .order("request_date desc")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...