рельсы 3, на героку, как запросить любое из 2-х разных значений в одном поле? - PullRequest
0 голосов
/ 19 марта 2011

Я пытаюсь найти все сообщения, в которых поле .user имеет одно из двух значений.

.user - строка

   @msgs = Foo.find :all, 
      :order => 'created_at ASC', 
      :conditions => [ "(user = ?) OR (user = ?)", @user1, @user2]

этот запрос, по героку (postgres) всегда возвращает пустой

работает локально, возвращает данные, как ожидалось.

Почему это не работает? Я абсолютно уверен, что значения в @ user1 и @ user2 действительно соответствуют данным в поле .user, потому что когда я удаляю условия, затем фильтрую в VIEW, используя те же имена переменных, он отлично работает.

Ответы [ 2 ]

1 голос
/ 19 марта 2011

проблема в том, что postgres, по-видимому, не нравится иметь поле с именем 'user', когда я изменил имя поля, оно работало отлично.

0 голосов
/ 19 марта 2011

Возможно, проблема в регистре? Я считаю, что postgres по умолчанию учитывает регистр.

Попробуйте

 :conditions => [ "UPPER(user) = UPPER(?) OR UPPER(user) = UPPER(?)", @user1, @user2]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...