Rails 3: есть ли AR # or_where`? - PullRequest
       22

Rails 3: есть ли AR # or_where`?

4 голосов
/ 17 декабря 2010

Есть ли AR#or_where в Rails 3 как в

User.where(cond1).or_where(cond2)

Ответы [ 4 ]

4 голосов
/ 17 декабря 2010

В Rails такого метода нет.

Я думаю, что самый простой способ сделать OR в предложении WHERE - это сделать что-то вроде этого:Если вы хотите изучить методы Arel (у которых есть метод «или»), посмотрите здесь: https://github.com/rails/arel#readme. Используя Arel и ActiveRecord, вы можете сделать то же самое, как это:

2 голосов
/ 22 февраля 2011

Просто с помощью User.where(cond1) | User.where(cond2), ||Зарезервировано ruby!

2 голосов
/ 17 декабря 2010

Вы можете взглянуть на meta_where .Этот гем позволяет использовать более мощные выражения запросов ActiveRecord в коде Ruby, не требуя перехода к фрагментам SQL.

0 голосов
/ 17 декабря 2010

Если вы хотите связать их так, вам нужно немного покопаться в арле.См. этот похожий вопрос .

...