[Warszawa-pm] DBIx::Class

Łukasz Mądrzycki guksza w gmail.com
Czw, 21 Paź 2010, 01:17:51 PDT


Hej,

zwykle używam (o ile używam) Class::DBI i do moich prostych rzeczy wystarcza.
Chciałbym jednak spróbować DBIx::Class. I mam zaćmienie i czegoś nie
chwytam: jaka jest różnica między has_many i belongs_to. Jakoś nie
mogę tego ogarnąć.

Na przykładach jest:

  package MyDatabase::Main::Result::Artist;
  use base qw/DBIx::Class::Core/;
  __PACKAGE__->table('artist');
  __PACKAGE__->add_columns(qw/ artistid name /);
  __PACKAGE__->set_primary_key('artistid');
  __PACKAGE__->has_many('cds' => 'MyDatabase::Main::Result::Cd');
1;

  package MyDatabase::Main::Result::Cd;
  use base qw/DBIx::Class::Core/;
  __PACKAGE__->load_components(qw/InflateColumn::DateTime/);
  __PACKAGE__->table('cd');
  __PACKAGE__->add_columns(qw/ cdid artist title/);
  __PACKAGE__->set_primary_key('cdid');
  __PACKAGE__->belongs_to('artist' => 'MyDatabase::Main::Result::Artist');
  __PACKAGE__->has_many('tracks' => 'MyDatabase::Main::Result::Track');

  1;

Czy zadeklarowanie artist->has_many(cds) nie wystarczy, trzeba jeszcze
cd->belnogs_to(artist)?

Ł


Więcej informacji o liście Warszawa-pm