[Catalyst] Relationship layout
    Dan Boger 
    perl at peeron.com
       
    Mon Oct  3 16:25:18 CEST 2005
    
    
  
On Mon, Oct 03, 2005 at 07:15:37AM -0700, Will Smith wrote:
>    Oh, my bad. Yes, I put it right after the package definition. I
>    just pasted in the wrong place. I would re-phrase my question as:
>    
>    Once I have this has-many relationship declared, how would I use
>    it? And if I have more than one relationship to this one table,
>    would I declare the same way?
>    
>    Please give me a specific line of instruction.
Well, a really good example can be found here:
  http://wiki.class-dbi.com/index.cgi?BeginnersGuide
(look in the relationships section).
In general, you declare the relationships with has_a and has_many, then
when you access those fields, instead of getting a scalar value, you get
CDBI objects back:
  package Music::Artist;
  __PACKAGE__->has_many(cds => 'Music::CD');
  ...
  package Music::CD;
  __PACKAGE__->has_a(artist => 'Music::Artist');
  ...
  $artist = $cd->artist; # returns a Music::Artist object, for the artist of that CD.
  @cds = $artist->cds;   # returns an array of Music::CD objects
(code written in an email client should never be executed).
HTH!  I'm sure the CDBI wiki and list would be able to explain it better
though.
Dan
-- 
    
    
More information about the Catalyst
mailing list