0

我有一个看起来像这样的查询:

 User.includes(:notifications).where({:type => 'Nice', :notifications => {:name =>'Weekly email'} })

我怎样才能修改这个查询,以便在哪里, :type 可以是 'Nice', 'nice', 'nicely', 'good' ?

我怎样才能把 OR 放在那里?

4

2 回答 2

4

这就是你的做法

User.includes(:notifications).where({:type => ['Nice','nice','nicely','good'], :notifications => {:name =>'Weekly email'} })

祝你好运!

于 2012-12-05T21:04:01.877 回答
1

您可以在条件中传递一个数组来测试几个值:

User.includes(:notifications).where({:type => ['Nice', 'nice', 'nicely', 'good'], :notifications => {:name =>'Weekly email'} })

它将生成一个带有IN子句的 SQL 请求。

于 2012-12-05T21:02:11.873 回答