ag4ve has asked for the wisdom of the Perl Monks concerning the following question:
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 }, );
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: dbic multiple joins
by moritz (Cardinal) on Apr 23, 2011 at 16:40 UTC | |
by ag4ve (Monk) on Apr 23, 2011 at 17:36 UTC | |
|
Re: dbic multiple joins
by Anonymous Monk on Apr 25, 2011 at 14:50 UTC |