Masahiro Okubo

Activerecordで子要素がゼロの場合のscope方法

Activerecordで子要素がゼロの場合のscope方法

has_manyなテーブルの要素がゼロの場合どうしたら良いかと思い
調べてみらたいい感じのやつが見つかりました

SQL書こうかと思いましたが、active recordの機能を使えたので、
コードきれいに保つことができましたと。

class Model < ApplicationRecord
  has_many :model_children
  scope :without_children, -> { left_outer_joins(:model_children).where(model_children: { id: nil }) }

dnd

class ModelChild < ApplicationRecord
  belongs_to :model
dnd
目次
  1. 参考記事

参考記事

Select all rows that have no children
Rails 4 scope to find parents with no children

Buy Me A Coffee

関連記事

copyright© 2016-2021 Masahiro Okubo