[Dbix-class] load_classes from another schema with same module name?
Josef Chladek
josef.chladek at boerse-express.com
Sun Mar 11 14:53:45 GMT 2007
hello list,
I have a problem with the following setup:
package Xatalyst::Schema::Newsletter;
use base qw/DBIx::Class::Schema/;
__PACKAGE__->load_classes({
Xatalyst::Schema::BElogs => [qw/ Entries /] ,
},);
__PACKAGE__->load_classes();
1;
package Xatalyst::Schema::Newsletter::Entries;
use base Xatalyst::SourceBase;
__PACKAGE__->table('newsletter.newsletter');
__PACKAGE__->add_columns(qw/id title image date created status/);
__PACKAGE__->set_primary_key('id');
__PACKAGE__->has_many( "belogs",
"Xatalyst::Schema::Newsletter::BElog_Relation" => "newsletter",
{ order_by => 'seq' } );
1;
package Xatalyst::Schema::Newsletter::BElog_Relation;
use base Xatalyst::SourceBase;
__PACKAGE__->table('belog_relation');
__PACKAGE__->add_columns(qw/id newsletter belog seq/);
__PACKAGE__->set_primary_key('id');
__PACKAGE__->belongs_to(belog => 'Xatalyst::Schema::BElogs::Entries');
1;
to test this:
my $connect = "Xatalyst::Model::Newsletter"->config->{connect_info};
my $model = Xatalyst::Schema::Newsletter->connect(@$connect);
my $entry = $model->resultset('Entries')->find(2855);
my $belogs = $entry->belogs;
while (my $entry = $belogs->next) {
warn $entry->belog;
};
$entry->belog does not point to Xatalyst::Schema::BElogs::Entries but
to Xatalyst::Schema::Newsletter::Entries
how can I manage to import from another schema and avoid that Entries
from BElogs is not overridden by Entries from Newsletter?
thanks
josef
More information about the Dbix-class
mailing list