2011-05-12 74 views
3

我正在使用DBIx::Class::Schema::Loader为我的数据库创建一个静态ORM。我用下面的方法来为ResultSetResult类,我可以插普通的潜艇到创建它并指定基类:DBIx :: Class :: Schema :: Loader ResultSource基类

make_schema_at(
'MyApp::Schema', 
{ 
    debug => 1, 
    dump_directory => '/home/rob/projects/myapp/MyApp/lib', 
    overwrite_modifications => 1, 
    components=> ['EncodedColumn'], 
    use_namespaces   => 1, 
    result_base_class  => 'MyApp::Schema::ResultBase', 
    default_resultset_class => 'ResultSetBase' 
}, 
[ 'DBI:mysql:database=mydb;host=localhost;port=3306','user', 'pass' ], 
); 

这个工程就像一个魅力,但我不能找出如何创建一个基类ResultSource。我想插一子成类,这样我可以这样做(伪代码):

$c->model('DB')->source->('Account')->getParentSource('Project'); 

ResultSourceBase.pm:

sub getParentSource { 
    my ($self,$parent) = @_; 
    foreach $relation in $self->relations 
     if ($relation->identifier eq $parent) 
      return $relation->source; 

    return $self; 
} 

谁能告诉我如何告诉加载器使用基类ResultSource类,我可以将上面的东西插入到?

谢谢!

回答

相关问题