在 Rails 中找到没有孩子的模特

finding childrenless models in Rails

我有一个 self-association 的模型

belongs_to :parent, class_name: "Person"
has_many :children, foreign_key: :parent_id, class_name: "Person"

通过 where(parent_id: nil)

获得 parents

如何获得没有 children 作为范围的所有人物模型?

试试这个:

scope :with_no_children, -> { includes(:children).where(children: { id: nil }) } # or children_items: { id: nil } if that's self-referencing association

Reference