데이터베이스에 정적 ORM을 만들 때 DBIx::Class::Schema::Loader
을 사용하고 있습니다. 나는에 일반적인 서브 우퍼를 연결할 수 ResultSet
및 Result
클래스에 대한 기본 클래스를 생성하고 지정하려면 다음 방법을 사용하십시오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
클래스를 사용하여 위와 같은 것을 연결할 수 있습니까?
감사합니다.