3

如果我有两个模型 - parentandchild和 parent has_many 孩子,并且我有一个父母数组并且想要检索所有这些父母的所有孩子,有没有一种方法可以在 Rails 中执行此操作而无需手动编写 SQL 语句?

这就是我想要做的:

@parents = Parent.where("[various conditions]")
@children = @parents.children
4

1 回答 1

7
Child.where(:parent_id => @parents.pluck(:id))

或者

@parent_ids = Parent.where("[various conditions]").pluck(:id)
Child.where(:parent_id => @parent_ids}

或者你可以使用加入

Child.join(:parent).merge(Parent.where("[various conditions]")) #!!readonly
于 2012-05-20T00:57:39.210 回答