我想要这样的功能:
$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