回答

2

爲什麼不這樣做呢?

@categories = Category.where(id: [1], parent_id: [1]) 

這會給你所有id = 1parent_id = 1的類別。 請注意,除非您想包含ID數組或父母ID,否則您不需要[]。如果你想爲一個ID只有一個父ID,你可以這樣做:

@categories = Category.where(id: 1, parent_id: 1) 
+1

謝謝你的作品,我試過了。如何通過或條件編寫 – SreRoR

+0

在Rails 5中(尚未發佈,即將推出),我們將有一個特性,我們可以通過'where'子句鏈接'或',像這樣:'@categories = Category.where(id:1).or(Category.where(parent_id:1)' 但是,這不是Rails 4的一部分。有關更多示例,請參閱此文章:http://stackoverflow.com/questions/ 32753168/rails-5-activerecord-or-query –

+0

如果你使用Rails 4.2,那麼你可以試試這個gem:https://github.com/Eric-Guo/where-or 然後你就可以使用那個或者,你總是可以使用SQL來使用OR來編寫查詢 –

0

假設你想找到與分類記錄id = 1和PARENT_ID = 1 查詢應該是:

@category = Category.where(id:1,parent_id:1).first

相關問題