[Dbix-class] Help with many to many relationship

RAPPAZ Francois francois.rappaz at unifr.ch
Wed Apr 2 06:46:41 GMT 2014


How stupid I am... Thanks !

François

> -----Original Message-----
> From: Hailin Hu [mailto:i at h2l.name]
> Sent: mercredi, 2. avril 2014 08:20
> To: DBIx::Class user and developer list
> Subject: Re: [Dbix-class] Help with many to many relationship
> 
> Abo.pm
>  __PACKAGE__->has_many( abojrnabt => 'Dbc::Jrnabt',  {'foreign.noabt'
> => 'self.noabt'});
> 
> is supposed to be
> 
> Abo.pm
>  __PACKAGE__->has_many( abojrnabt => 'Dbc::Schema::Result::Jrnabt',
> {'foreign.noabt' => 'self.noabt'});
> 
> http://search.cpan.org/~ribasushi/DBIx-Class-
> 0.08270/lib/DBIx/Class/Relationship.pm
> 
> On Wed, Apr 2, 2014 at 2:53 PM, RAPPAZ Francois
> <francois.rappaz at unifr.ch> wrote:
> > The Schema.pm and Schema folder are in a Dbc folder. The Schema.pm
> has
> > package  Dbc::Schema
> >
> > The Result Folder in Schema folder holds the tables modules, for
> > example Jrnabt.pm has package  Dbc::Schema::Result::Jrnabt
> >
> > When I fetch data from another table without using relationship, for
> > example
> >
> >  my $s =  Dbc::Schema->connect(
> >                 $dsn,
> >                 $cfg->get_usr,
> >                 $cfg->get_psw,
> >                       {
> >                 PrintError => 0,
> >                 RaiseError => 1,
> >                 AutoCommit => 1,
> >                 mysql_enable_utf8=>1
> >             }
> >         );
> > my $rs = $s->resultset('Ed')->search_rs( undef, {order_by => ['nom']}
> > );
> >
> > while (my $ed = $rs->next){
> >         print $ed->nom , "\n";
> > }
> >
> > It works
> >
> > François
> >
> >> -----Original Message-----
> >> From: Hailin Hu [mailto:i at h2l.name]
> >> Sent: mercredi, 2. avril 2014 04:14
> >> To: DBIx::Class user and developer list
> >> Subject: Re: [Dbix-class] Help with many to many relationship
> >>
> >> Show up the folder structure and the actual package names.
> >>
> >> On Wed, Apr 2, 2014 at 12:09 AM, RAPPAZ Francois
> >> <francois.rappaz at unifr.ch> wrote:
> >> > Hi
> >> >
> >> > I have two tables Abo (primary key: noabt) and Jrn (primary key:
> >> nofm)
> >> > join  by a linking table jrnabt (primary keys: nofm, noabt)
> >> >
> >> > I have defined the relationship as
> >> >
> >> > Abo.pm
> >> >  __PACKAGE__->has_many( abojrnabt => 'Dbc::Jrnabt',
> {'foreign.noabt'
> >> > => 'self.noabt'});
> >> >
> >> > Jrn.pm
> >> >  __PACKAGE__->has_many(jrnjrnabt => 'Dbc::Jrnabt',
> {'foreign.nofm'
> >> =>
> >> > 'self.nofm'});
> >> >
> >> > Jrnabt.pm
> >> >
> >> > __PACKAGE__->belongs_to(jrnabtjrn => 'Dbc::Jrn',  {'foreign.nofm'
> >> > => 'self.nofm'}); __PACKAGE__->belongs_to(jrnabtabo => 'Dbc::Abo',
> >> > {'foreign.noabt' => 'self.noabt'});
> >> >
> >> > When I try
> >> > my $rs = $schema->resultset('Abo')->search_rs({'abojrnabt.nofm' =>
> >> > '1'}, {join => 'abojrnabt'});
> >> >
> >> > I got
> >> > DBIx::Class::Schema::source(): Can't find source for Dbc::Jrnabt
> at
> >> > U:\docs\perl\dokpe_i01_dbc\testdbc.pl line 62
> >> >
> >> > What am I missing ?
> >> >
> >> > Thanks
> >> >
> >> > François Rappaz
> >> >
> >> > Centre de documentation de la Faculté des Sciences Université de
> >> > Fribourg DokPe - Dokumentationszentrum der Naturwissenschaftlichen
> >> > Fakultät Universität Freiburg Pérolles CH-1700 Fribourg
> Switzerland
> >> > http://www.unifr.ch/dokpe/
> >> > Tel.: 41 (0)26 300 92 60
> >> > Fax.: 41 (0)26 300 97 30
> >> >
> >> >
> >> >
> >> > _______________________________________________
> >> > 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/dbix-class@lists.scsys.co.uk
> >>
> >> _______________________________________________
> >> 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/dbix-
> >> class at lists.scsys.co.uk
> >
> > _______________________________________________
> > 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/dbix-class@lists.scsys.co.uk
> 
> _______________________________________________
> 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/dbix-
> class at lists.scsys.co.uk



More information about the DBIx-Class mailing list