Re: DataObjects joins
| From: | Justin Patrin | Date: | Fri, 28 Jan 2005 18:29:12 +0000 |
| Subject: | Re: DataObjects joins | ||
| References: | 1 | Groups: | php.pear.general |
| Request: | Send a blank email to pear-general+get-17245@lists.php.net to get a copy of this message | ||
On Fri, 28 Jan 2005 13:14:45 -0500, James Stewart <lists@jystewart.net> wrote:
> I'm running into some problems with DB_DataObject on PHP 4.3.10 (I have
> no choice about the version, it's on a shared host). I've only been
> seeing the problems since I tried working on 4.3.10, though it is
> possible they slipped through the cracks previously.
>
> The code I'm using is:
>
> $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
--
Justin Patrin