我需要在Rails 中進行查詢,我想通過「OR」過濾到2個不同的列或字段。我怎樣才能做到這一點?我只知道如何使用一個字段和不同的值進行查詢。通過不同列查詢具有相同的值
MyModel.where(my_field: ["var1", "var2"])
但我想使用不同的列和相同的值和「或」。
我需要在Rails 中進行查詢,我想通過「OR」過濾到2個不同的列或字段。我怎樣才能做到這一點?我只知道如何使用一個字段和不同的值進行查詢。通過不同列查詢具有相同的值
MyModel.where(my_field: ["var1", "var2"])
但我想使用不同的列和相同的值和「或」。
如何做這樣的事情:
MyModel.where("my_field=? OR my_second_field=?", 'test', 'test')
也可對照參見2.2節陣列條件: http://edgeguides.rubyonrails.org/active_record_querying.html
相同的值。 –
@jawanam更新了答案,但這個想法保持不變。 –
這會爲你工作:
MyModel.where(
{some_field: "value"} |
{some_other_field: "value"}
)
路線插值,正如布萊恩的回答中所提到的,也是完全有效的。但是,由於以下幾個原因,這是我的首選方法:
你的問題已解決? – jeffdill2
@ jeffdill2,是的。 –
太棒了。如果它通過下面的答案之一得到解決,那麼請接受一個答案。否則,請提供您自己的答案並接受。 – jeffdill2