0

有没有办法强制 :include in ActiveRecord find 在不满足条件的结果中输出 nil ?

例如,如果我有课程:父母和孩子。父母有很多孩子,我做这样的事情:

children_ids = [1,2,3]
my_parent = Parent.find(:all,
                        :include => :children,
                        :conditions => ['parent.id = 1 AND children.id IN (?)', children_ids])

假设我只有 id 2 和 3 声明的孩子:

my_parent.children

将返回带有两个孩子的数组。但我想知道它们是哪一个(我的 children_ids 数组中的第二个和第三个)。那么 :include 是否可以为我丢失的孩子输入 nil ?

如果这个描述太令人困惑,那么让我知道,我会尝试更好地呈现它。

4

1 回答 1

1

如果您想找出丢失的记录,您可以在 ruby​​land 中通过处理检索到的记录来完成。

retrieved_ids = my_parent.children.map(&:id)
unretrieved_ids = children_ids - retrieved_ids
于 2013-08-27T15:30:52.413 回答