祖先 - 如何让所有父母没有孩子?
问题描述:
我这样做是这样的:祖先 - 如何让所有父母没有孩子?
@disabled_options = []
Category.where('ancestry is NULL').each do |cat|
@disabled_options << cat.id if cat.has_children?
end
有没有更优雅的方式来获得无子女的所有父?
答
Category.where("id IN (SELECT parent_id FROM categories)")
假设parent_id
是指向父类别的字段。
这将选择那些使用“parent_id”指向的类别,所以如果有孩子,孩子将设置“parent_id”,因此“parent_id”引用的类别具有孩子。
答
这一行可能会帮助你。
Category.where(id: Category.pluck(:ancestry).compact.map { |e| e.split('/') }.flatten.uniq)
你想查找所有的'父母'(所有有孩子的分类)还是你想找到所有'根'(所有没有父母的分类)? – 2012-07-06 17:43:06
所有有孩子的类别 – user984621 2012-07-06 17:54:49