我有一个看起来像这样的查询:
User.includes(:notifications).where({:type => 'Nice', :notifications => {:name =>'Weekly email'} })
我怎样才能修改这个查询,以便在哪里, :type 可以是 'Nice', 'nice', 'nicely', 'good' ?
我怎样才能把 OR 放在那里?
我有一个看起来像这样的查询:
User.includes(:notifications).where({:type => 'Nice', :notifications => {:name =>'Weekly email'} })
我怎样才能修改这个查询,以便在哪里, :type 可以是 'Nice', 'nice', 'nicely', 'good' ?
我怎样才能把 OR 放在那里?
这就是你的做法
User.includes(:notifications).where({:type => ['Nice','nice','nicely','good'], :notifications => {:name =>'Weekly email'} })
祝你好运!
您可以在条件中传递一个数组来测试几个值:
User.includes(:notifications).where({:type => ['Nice', 'nice', 'nicely', 'good'], :notifications => {:name =>'Weekly email'} })
它将生成一个带有IN
子句的 SQL 请求。