Rails使用OR查询WHERE子句

时间:2013-05-21 07:33:45

标签: ruby ruby-on-rails-3.2 boolean where-clause

我有两个单独的RAILS查询,它们都可以自行运行:

@charts = Chart.where(:patient_id => @emailpatient.id)

@charts = Chart.where(:patient_id => @sharepatient.id)

我想简单地组合成一个“OR”查询。我试过了:

@charts = Chart.where(:patient_id => @sharepatient.id OR :patient_id => @emailpatient.id)

@charts = Chart.where("patient_id => @sharepatient.id OR patient_id => @emailpatient.id")

以及其他各种变化,无法使其发挥作用。我哪里误入歧途?

2 个答案:

答案 0 :(得分:6)

你可以做到

@charts = Chart.where(:patient_id => [@emailpatient.id, @sharepatient.id])

答案 1 :(得分:2)

你有点不对劲。

@charts = Chart.where("patient_id = ?  OR patient_id = ?", @sharepatient.id, @emailpatient.id)