基本的に私は3つのテーブルを持っています。構文を無視します。アイデアを示したかっただけです。
ModelA:
belongs_to :ModelB
ModelB:
has_many: ModelA
has_and_belongs_to_many :ModelC
ModelC
has_and_belongs_to_many :ModelB
ModelC のすべての行にフラグ = 'Y' がある ModelA からすべての行を取得するにはどうすればよいですか?
私はもう試した:
ModelA.joins(:ModelB => :ModelC).where("#{ModelC.table_name}.flag = 'Y'")
成功しない他の多くの方法。上記のコードがすべての行をチェックするわけではないことは知っていますが、それは私が得た限りです。ActiveRecord を使用することをお勧めします。