2016-11-30 7 views
2

Я хочу написать query на модели employee, где employeedate_of_leaving - nil или он должен быть в определенном date range.Как получить записи, чья date_of_leaving равна нулю или она должна быть в определенном диапазоне дат в рельсах?

Вот мой текущий запрос:

e = Employee.where.not('date_of_leaving >= ? and date_of_leaving <= ?', Date.today - 60, Date.today).where(:date_of_leaving => nil) 

но его возвращение #<ActiveRecord::Relation []>

+0

где цепочка - 'AND'. См. Ответ от @Andrey Deineko для правильного запроса – Fallenhero

ответ

2

Следующий запрос возвращает всех сотрудников, которые имеют date_of_leaving либо между указанными датами или nil:

Employee.where('date_of_leaving BETWEEN ? AND ? OR date_of_leaving IS NULL', Date.today - 60, Date.today)