回答

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

相关问题