DB_DataObject_FormBuilder and crossLinkExtraFields
| From: | James Stewart | Date: | Fri, 22 Sep 2006 22:58:40 +0000 |
| Subject: | DB_DataObject_FormBuilder and crossLinkExtraFields | ||
| Groups: | php.pear.general | ||
| Request: | Send a blank email to pear-general+get-25214@lists.php.net to get a copy of this message | ||
Hi,
I'm using DB_DO_FB for a conference management system which includes four tables:
conference_session
conference_time_slots
conference_venues
conference_session_time_slot
The final table, conference_session_time_slot, connects a session with a time slot and a venue, and I have my conference_session DO set up with:
public $fb_crossLinks = array(
'table' => 'conference_session_time_slot',
'fromField' => 'session_id',
'toField' => 'time_slot'));
and in my conference_session_time_slot I have:
public $fb_crossLinkExtraFields = array('location');
That generates a form with checkboxes for each time slot, and a select list of venues for each time slot. When I add a session to a new time slot everything works fine, with an entry being created for the appropriate time slot and location, but when I try to alter a location for an already selected time slot the update isn't completed and DB_DO_FB attempts to insert a new value in the database for just the location. eg.
DataObjects_Conference_session_time_slot: QUERY: INSERT INTO conference_session_time_slot (location ) VALUES ( 6 )
where 6 is the value of the location I want to change to, but I expect something like:
UPDATE conference_session_time_slot SET location = 6 WHERE id = X
Looking through the code I can't see where DB_DO_FB actually works out which updates it's supposed to make for extra fields, so I'm not sure where to go next. Anyone got any ideas?
thanks. James.
--
James Stewart
http://jystewart.net/process/