У меня есть запрос, который я использую для поиска по следующим условиям:
:conditions => ['family_name LIKE ? OR given_name LIKE ?', "%#{params[:search]}%", "%#{params[:search]}%"]
Запрос работает локально на SQLite, но когда я нажимаю Heroku на PostgreSQL, только первый%работает как для фамилии, так и для данного имени.Другими словами, оно будет соответствовать ключевому слову, которое встречается в конце слова, но не в начале или в середине.
Пример: Существует существующая запись с: family_name => "Washington"и: данное_имя =>" Джордж "
При поиске" ington "или" rge "эта запись будет найдена.Поиск по "Wash" или "Geo" не будет.
Я новый пользователь и довольно плохо знаком с рельсами.Заранее благодарим за помощь.
Решение
Похожие темы: 1 2
Вот исправление, которое я использую:
:conditions => ['LOWER(family_name) LIKE ? OR LOWER(given_name) LIKE ?', "%#{params[:search].downcase}%", "%#{params[:search].downcase}%"]