Re: DataObjects joins

From: Date: Fri, 28 Jan 2005 18:43:10 +0000
Subject: Re: DataObjects joins
References: 1 2  Groups: php.pear.general 
Request: Send a blank email to pear-general+get-17247@lists.php.net to get a copy of this message
On Jan 28, 2005, at 1:29 PM, Justin Patrin wrote:
On Fri, 28 Jan 2005 13:14:45 -0500, James Stewart <lists@jystewart.net> wrote:
$staff = DB_DataObject::factory('member'); $attendance = DB_DataObject::factory('staff_conference'); $position = DB_DataObject::factory('position'); $staff->joinAdd($attendance); $staff->joinAdd($position); $position->school = $college_id; $position->whereAdd('end_date IS NULL'); $staff->find(); and the error I'm seeing is: joinAdd: staff_conference has no link with member my <dbname>.links.ini file contains: [staff_conference] member_id = member:id member_id = registration:registrant member_id = position:member Through a little digging around I discovered that DB_DataObject is only recognising the last link where there are several from the same field in the originating table. Can anyone recommend a way around this?
Ummm...how are you expecting that to work? One field can only link to one table. Sounds like the first one is the real one (member_id links to member:id) and the other two should be set up in the other tables [registration] registrant = member:id
I'm linking that field with different tables depending on the context. In some cases the registrant is a member, but in others they're a guest and so linked with another table. Where necessary, I use registration.reg_type to check that. James.

« previous php.pear.general (#17247) next »