有没有办法强制:在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吗?
如果这个描述过于令人困惑,请告诉我,我会尝试更好地展示它。
答案 0 :(得分:1)
如果你想找出丢失的记录,可以通过处理检索到的记录在rubyland中进行。
retrieved_ids = my_parent.children.map(&:id)
unretrieved_ids = children_ids - retrieved_ids