Метки времени хранятся в базе данных как числа, а не как строки, поэтому использование сравнения строк (например, ILIKE
) не сработает.
Похоже, вы пытаетесь сопоставить метки времени с датами.Вы можете просто привести метку к дате.Что-то вроде:
WHERE users.date_of_birth::date = '2019-06-14'
Это может показаться переводом следующего в зависимости от вашего кода.
field == "dob"
selected_date = Date.strptime(query, '%Y-%m-%d')
items = Patient.joins(role: :user).where('users.date_of_birth::date = :search', search: "%#{selected_date}%")
Я незнаком с библиотеками, которые вы используете, но выглядиткак часть ":: date" может работать с функциональностью заполнителя.Возможно, вам придется повозиться с этим, чтобы он заработал.