Hi, I still have trouble with my inject class. Here is what I do in my Catalyst app:
############ package glueDB::Contact::Company; __PACKAGE__->load_components( qw/ glue::Historic ... Core / ); __PACKAGE__->has_many( branches => 'glueDB::Contact::Company::Branch', 'company_id', { cascade_delete => 0 } ); __PACKAGE__->load_historic; ############ package glueDB::Contact::Branch __PACKAGE__->load_components( qw/ glue::Historic ... Core / ); __PACKAGE__->belongs_to( company => 'glueDB::Contact::Company', 'company_id', { cascade_delete => 0 } ); __PACKAGE__->load_historic; ############# package DBIx::Class::glue::Historic; sub load_historic { my ( $class ) = @_; $result_source_instance = $class->result_source_instance(); $source_class = ref($result_source_instance); glueDB->inject_base( join('::', $source_class, '__HistoricResultset'), 'DBIx::Class::glue::Historic::RestrictResultset', $source_class ); } ############## package DBIx::Class::glue::Historic::RestrictResultset; sub resultset { my $self = shift; $rs = $self->next::method(@_); warn ref $rs; return $rs; } ############## When I get a company object $company = $c->model( 'glueDB::Contact::Company' )->search(id=>1); the 'warn' in DBIx::Class::glue::Historic::RestrictResultset gets called as expected. BUT: If I do $branch = $company->branch; it doesn't get called anymore. Could some explain me why this doesn't work as I also injected my own baseclass (DBIx::Class::glue::Historic::RestrictResultset;) into it's @ISA. Any tips are very welcome. Greets, Mario _______________________________________________ List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class IRC: irc.perl.org#dbix-class SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/ Searchable Archive: http://www.grokbase.com/group/[EMAIL PROTECTED]