Запрос без учета регистра в Datamapper
Я новичок в Datamapper. Есть ли способ написать нечувствительный к регистру запрос в datamapper, потому что я ищу наличие имени в таблице с datamapper. Обычно мы пишем запрос в datamapper, как это сказать,
Student.all(:name => "XYZ") where name can be of the form xyz, Xyz and XYZ.
Так что в приведенном выше запросе, какой дополнительный оператор я должен добавить, чтобы сделать вышеупомянутый запрос нечувствительным к регистру.
3 ответа
Для datamapper вы должны использовать
Student.all(:conditions => [ "lower(name) = ?", name.downcase ])
Изменить ваш запрос:
name = "XyZ"
Student.find(:all, :conditions => [ "lower(name) = ?", name.downcase ])
Вы можете попробовать это
name = "XyZ"
Student.where("lower(name) = ?", name.downcase)
или вы можете поставить проверку в модальном также, как это
validates_uniqueness_of :name, :case_sensitive => false