Rails создал_ в состоянии нахождения - PullRequest
2 голосов
/ 02 мая 2010

Я пытаюсь суммировать суммы ежедневных покупок для данного пользователя. @dates - это массив из 31 даты. Мне нужно условие поиска, чтобы сравнить дату из массива с датой созданных покупок. То, что я делаю ниже, сравнивает точный DateTime для столбца create_at. Мне нужно посмотреть на сам день, а не на DateTime.

Как мне написать это так, чтобы create_at находился между датой из массива?

<% @dates.each do |date| %>
  <td><%= current_user.purchases.sum(:amount, :conditions => ["created_at = ?", date]) %></td>
<% end %>

Ответы [ 2 ]

5 голосов
/ 13 июля 2011
:conditions => {:created_at => start_date..finish_date}
4 голосов
/ 02 мая 2010

Вам нужно найти начальную и конечную даты в этом массиве, а затем вы сможете найти записи, где между ними создан create_at:

:conditions => ["created_at >= ? AND created_at <= ?", start_date, finish_date]
...