如何使用"和"编写活动记录和"或" Ruby中的条件

时间:2016-03-28 06:06:14

标签: ruby ruby-on-rails-3 activerecord

我想用三个and条件(必须)和两个or条件编写Active Record。

我写了这个:

@properties = Property.where(category_id: 2).
                       where(status: 3).
                       where(p_type: 'sell')`

这会列出and条件的查询。

我需要在最后加入两个or条件。

尝试了这个,但收到了一个错误:

@properties = Property.where(category_id: 2).
                       where(status: 3).
                       where(p_type: 'sell').
                       or(location: @location).
                       or(featured: '1)`

我该怎么做?

2 个答案:

答案 0 :(得分:1)

@properties=Property.where("(category_id = ? AND status = ? ) OR (location = ? OR featured = ?)", "2", "3", @location, "1")

答案 1 :(得分:0)

你可以试试这个。

@properties = Property.where(category_id: 2, status: 3).where("(p_type = ? OR location = ? OR featured = ?)", 'sell', @location, '1')