Чтобы получить все задания, принадлежащие пользователю и запланированные на сегодня, вам необходимо выполнить поиск всех запланированных заданий за текущий период времени:
user = User.find(1) # Will get the user with ID 1
jobs = Job.where("user_id = :id AND scheduled_run >= :start AND scheduled_run < :end",
:id => user.id,
:start => Date.today,
:end => 1.day.from_now.to_date)
Чтобы получить все задания за последнюю неделю, мы выполним аналогичную команду, но мы переключим :start
и :end
на начало и конец недели:
user = User.find(1) # Will get the user with ID 1
jobs = Job.where("user_id = :id AND scheduled_run >= :start AND scheduled_run < :end",
:id => user.id,
:start => 1.week.ago.to_date,
:end => Date.today)
В обеих приведенных выше командах to_date
заставит ActiveRecord
рассматривать полученный DateTime
как начало дня.