[Dbix-class] get $author from a row $author->books->first

Matt S Trout dbix-class at trout.me.uk
Fri Apr 25 20:02:48 BST 2008


On Fri, Apr 25, 2008 at 05:24:24PM +0200, Moritz Onken wrote:
> 
> Am 25.04.2008 um 17:00 schrieb Matt S Trout:
> 
> >On Fri, Apr 25, 2008 at 01:56:38PM +0200, Moritz Onken wrote:
> >>Hi,
> >>
> >>I want to add a new method to my Book class. This methods needs to
> >>call a relationship of $author. So how do I get the $author object if
> >>I am calling a function in the Book class. I get the row object by
> >>calling $book = $author->books->first (or similar).
> >>
> >>I read the docs but couldn't anything but
> >>
> >>	my $schema = $self->result_source->schema;
> >>
> >>Which gives me the schema itself but not the $author object.
> >
> >$self->author
> 
> And if $self->author is a has_many or many_many relationship will it  
> still return the one author only and not all that relate to the book?

No, it'll return all of them.

If that's not what you want, you should be writing the method on the
author object, not the book object.

-- 
      Matt S Trout       Need help with your Catalyst or DBIx::Class project?
   Technical Director                    http://www.shadowcat.co.uk/catalyst/
 Shadowcat Systems Ltd.  Want a managed development or deployment platform?
http://chainsawblues.vox.com/            http://www.shadowcat.co.uk/servers/



More information about the DBIx-Class mailing list