2015-11-02 172 views
2

我需要在Rails 中進行查詢,我想通過「OR」過濾到2個不同的列或字段。我怎樣才能做到這一點?我只知道如何使用一個字段和不同的值進行查詢。通過不同列查詢具有相同的值

MyModel.where(my_field: ["var1", "var2"]) 

但我想使用不同的列和相同的值和「或」。

+1

你的問題已解決? – jeffdill2

+0

@ jeffdill2,是的。 –

+0

太棒了。如果它通過下面的答案之一得到解決,那麼請接受一個答案。否則,請提供您自己的答案並接受。 – jeffdill2

回答

1

這會爲你工作:

MyModel.where(
{some_field: "value"} | 
{some_other_field: "value"} 
) 

路線插值,正如布萊恩的回答中所提到的,也是完全有效的。但是,由於以下幾個原因,這是我的首選方法:

  1. 它非常易讀。
  2. 如果您決定需要在4個字段而不是2個字段中搜索特定值,同時仍保持可讀性,那麼添加更多字段非常簡單且乾淨。
相關問題