Can you use related_resultset or search_related? # See https://metacpan.org/module/DBIx::Class::ResultSet#related_resultset $table4_rs = $table1_rs->search_related_rs('table2')->search_related_rs('table4');
# See https://metacpan.org/module/DBIx::Class::Manual::Features#search_related $table4_rs = $table1_rs ->search_related_rs( table2 => { fld => 'blah' } ) ->search_related_rs('table4' => { xyz => 'pdq' } ); You can also inject utility methods into your schema definitions to return various related recordsets as well. On Mon, Jan 23, 2012 at 8:55 AM, Roland Philibert <[email protected]>wrote: > I manage to go through the database from a given primary key by doing in > the controller: > > ... > my $pk = '1'; > my $t1 = $c->model('DB')->resultset('Table1')->search({ table1id => > $pk,}, > {result_class > => 'DBIx::Class::ResultClass::HashRefInflator',}); > > my $rs_t2 = $c->model('DB')->resultset('Table2')->search({ > 'table3s.ftable1id' => $pk ,}, > {join => { > 'table3s'}, > > result_class => 'DBIx::Class::ResultClass::HashRefInflator',}); > > while ( my $subrs = $rs_t2->next ) { > $subrs = $c->model('DB')->resultset('Table2')->search( { > table2id => $subrs->{table2id}, }, { } ); > push @t2 , $subrs; > } > $c->stash( > t1 => [ $t1 ] , > rst2 => \@t2 > ); > $c->detach($c->view("HTML")); > } > > > > ..so that's a lof of searches, > The first one is to get the info related to table1. > The second one is to get all related table2 items related to pk of > table1. > The loop create a search for each items of the second search to get > items from table4. > > ....keep thinking that there must be a simpler way? > Any help greatly appreciated. > > Thanks > > > > > > > > > > > > > > > > > > > Aptina (UK) Limited, Century Court, Millennium Way, Bracknell, Berkshire, > RG12 2XT. Registered in England No. 06570543. > > This e-mail and any attachments contain confidential information and are > solely for the review and use of the intended recipient. If you have > received this e-mail in error, please notify the sender and destroy this > e-mail and any copies. > > > _______________________________________________ > 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] > -- "We act as though comfort and luxury were the chief requirements of life, when all that we need to make us happy is something to be enthusiastic about." -- Albert Einstein
_______________________________________________ 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]
