[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