1
我這樣做是這樣的:祖先 - 如何讓所有父母沒有孩子?
@disabled_options = []
Category.where('ancestry is NULL').each do |cat|
@disabled_options << cat.id if cat.has_children?
end
有沒有更優雅的方式來獲得無子女的所有父?
我這樣做是這樣的:祖先 - 如何讓所有父母沒有孩子?
@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