我正在尝试找到两个条件都成立的所有记录。例如:
ruby-1.8.7-p302 > Person.all
=> #<Person name: "Jane", city: "Green Bay", state: "Wisconsin", single: true>
=> #<Person name: "Dick", city: "Madison", state: "Wisconsin", single: false>
=> #<Person name: "Tom", city: "Milwaukee", state: "Wisconsin", single: true>
我想获得“简”和“汤姆”的记录。我正在尝试这个,但它不起作用:
Person.find_all_by_state("Wisconsin").find_all_by_single(true)
答案 0 :(得分:40)
Person.where(:state => "Wisconsin", :single => true)
答案 1 :(得分:9)
我会选择dmarkow的答案,但作为一些额外的琐事你也可以这样做:
Person.find_all_by_state_and_single("Wisconsin", true)
根据需要使用_and_
链接尽可能多的字段。 where
语法比这更简洁。
答案 2 :(得分:2)
使用OR条件的示例:
model_name.where("field_1 = ? OR field_2 = ?", params[:search_string], params[:search_string])