[Dbix-class] Problems getting prefetch to work..

Matt S Trout dbix-class at trout.me.uk
Sat Jun 24 20:49:58 CEST 2006


Tim Watson wrote:
> On 6/24/06, Matt S Trout <dbix-class at trout.me.uk> wrote:
>> Tim Watson wrote:
>>> I think I was going about this a little reverse...
>>>
>>> This works...
>>>
>>>     my $rs = $dbh->resultset('User')->search({ 'sessionid' => '123456'
>>> } ,{ prefetch => 'user_session' });
>>>
>>> But I am unable to figure out how to access anything else in that
>>> session row... since I am returned a user object by $rs->next;
>>>
>>> I would like to be able to get a session obect and the user object
>>> from that one line..
>> Oh, actually you're going to end up with a resultset of session objects that
>> way. What you want is
>>
>> my $rs = $dbh->resultset('Session')->search({ 'sessionid' => '123456' }, {
>> prefetch => 'user' });
>>
>> then $rs->next will return a $session object with $session->user already
>> populated with the appropriate user object
>>
> 
> That doesn't work... it gives me the relationship error...
> 
> DBIx::Class::ResultSet::search(): No such relationship user

__PACKAGE__->belongs_to(username => 'Db::Schema::User');

so try "username" since that's the name of the relationship.

-- 
      Matt S Trout       Offering custom development, consultancy and support
   Technical Director    contracts for Catalyst, DBIx::Class and BAST. Contact
Shadowcat Systems Ltd.  mst (at) shadowcatsystems.co.uk for more information

+ Help us build a better perl ORM: http://dbix-class.shadowcatsystems.co.uk/ +



More information about the Dbix-class mailing list