:私はチェーンシンプルで親クラスの外でそれを容易に行うことができますDBIx :: Classで「親からhas_many GrandChildrenから子へ」の関係を持つことはできますか?私はこのような機能を持っているしたいと思い
$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
ここで間違っているかもしれませんが、 '_rs'は通常は結果セットを表します。 @gchild_rsは実際には行オブジェクトの集合です。混乱を避けるため、スカラーコンテキストで呼び出すか、search_relatedの代わりにsearch_related_rsを使用してください。 – gpojd