i've got three tables: grp_org which has_many grp_own which has_many groups
i'm trying to create a data stricture which should have the data in a reasonable form. i can do the join from grp_org to grp_own fine, but when i try to join to groups, i'm failing.
what i have / tried:
my $grporg_rs = $schema->resultset('GrpOrg'); my $thing = [ $grporg_rs->search_rs( { }, { result_class => 'DBIx::Class::Re +sultClass::HashRefInflator', select => [ qw/me.org grp_ +own.owner/ ], join => 'grp_own', } )->search_rs( { }, { select => [ qw/groups.name +/ ], join => 'groups' } )->all ]; </cod> <p>i've also tried to use ->search_related. my schema looks like: <code> GrpOrg.pm: __PACKAGE__->has_many( "grp_own", "Nais::Schema::Result::GrpOwn", { "foreign.org_id" => "self.id" }, { cascade_copy => 0, cascade_delete => 0 }, ); GrpOwn.pm: __PACKAGE__->has_many( "groups", "Nais::Schema::Result::Group", { "foreign.own_id" => "self.id" }, { cascade_copy => 0, cascade_delete => 0 }, ); __PACKAGE__->belongs_to( "grp_org", "Nais::Schema::Result::GrpOrg", { id => "org_id" }, { is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE" + }, ); Groups.pm: __PACKAGE__->has_many( "grp2ais", "Nais::Schema::Result::Grp2ai", { "foreign.gpk" => "self.gpk" }, { cascade_copy => 0, cascade_delete => 0 }, );
In reply to dbic multiple joins by ag4ve
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |