次のような機能が必要です。
$parent->get_grandchildren_by_category({category => 'foo'});
単純な連鎖結合を使用して、親クラスの外部で簡単に実行できます。
$schema->resultset('Parent')->search(
{
'me.id' => 62,
'grandchildren.category' => 'foo'
},
{
join => {'children' => 'grandchildren'}
}
);
しかし、親クラス内では、スキーマオブジェクトにアクセスできません(アクセスすべきではありません)。親クラス内ではアクセスできます$self->children
が、子の結果セットが返され、それぞれを取得するために子を反復処理する必要がありますgrandchildren
。
このActiveRecordスタイルを定義する方法はありますか?
class Parent < ActiveRecord::Base
has_many :children
has_many :grandchildren, :through => :children
end