Rails3 - есть ли способ сделать NOTLIKE? - PullRequest
0 голосов
/ 13 мая 2011

Ранее я задавал вопрос, касающийся извлечения определенных элементов из базы данных, если они содержали определенное слово в своей строке, кто-то любезно предложил следующее, которое выполняло только эту работу:

def SomeModel < ActiveRecord::Base
  scope :contains_city,
  lambda { |city| where("some_models.address LIKE ?","%"+city+"%" ) }
end

Однако у меня естьнекоторые случаи, когда я хотел бы сделать противоположное, то есть вытащить все элементы, которые не имеют указанного слова в своей строке.Есть ли способ выполнить функцию NOT LIKE?Я обычно видел, как люди используют '! =' Для NOT EQUALS, но не добились успеха в этом направлении для функции LIKE.Есть ли эквивалент или лучше перебирать базу данных, помещая элементы в 2 отдельные базы данных, основываясь на том, удовлетворяют ли они условию LIKE?

1 Ответ

2 голосов
/ 13 мая 2011

Вы можете попробовать НЕ НРАВИТСЯ в своем запросе; MySQL поддерживает это.

http://dev.mysql.com/doc/refman/5.0/en/string-comparison-functions.html

...