Re: [DB_DataObject] Struggling with n:m-relation
| From: | Alan Knowles | Date: | Thu, 03 Jun 2004 14:38:55 +0000 |
| Subject: | Re: [DB_DataObject] Struggling with n:m-relation | ||
| References: | 1 | Groups: | php.pear.general |
| Request: | Send a blank email to pear-general+get-12866@lists.php.net to get a copy of this message | ||
Marco Schuler wrote:
Hi I have to following 3 tables that build a n:m-relation: Table teacher: +--------------------+------------------+$teacher = DB_DataObject::factory('teacher'); $teacher->joinAdd(| Field | Type |+--------------------+------------------+| teacher_id | int(10) unsigned | | teacher_forename | varchar(50) | | teacher_surname | varchar(50) |+--------------------+------------------+ Table teacher_has_teachersubject: +-------------------+------------------+| Field | Type |+-------------------+------------------+| teacher_id | int(10) unsigned || teachersubject_id | int(10) unsigned | +-------------------+------------------+ Table teachersubject: +----------------------------+------------------+| Field | Type |+----------------------------+------------------+| teachersubject_id | int(10) unsigned | | teachersubject_title | varchar(255) | | teachersubject_description | text |+----------------------------+------------------+ My dbname.links.ini looks like this: [teacher_has_teachersubject] teacher_id = teacher:teacher_id teachersubject_id = teachersubject:teachersubject_id What I want is a query like: SELECT * from teacher, teacher_has_teachersubject, teachersubject WHERE teacher.teacher_id = teacher_has_teachersubject.teacher_id AND teacher_has_teachersubject.teachersubject_id = teachersubject.teachersubject_id AND teacher.teacher_surname = 'SomeTeachersSurname'
DB_DataObject::factory('teacher_has_teachersubject'),
'' ); // <-- '' indicates join without 'JOIN'...
$teacher->joinAdd(
DB_DataObject::factory('teachersubject'),
'' ); // <-- '' indicates join without 'JOIN'...
$teacher->teacher_surname = 'SomeTeachersSurname';
$teacher->find();
use DB_DataObject::Debuglevel(1); to see what you are getting..
Regards
Alan
What would be the right (and shortest) DataObject-statements to have the above query performed? I am a little bit confused whether to use getLinks or addJoin or combine these two... Thanks for your help!-- Can you help out? Need Consulting Services or Know of a Job? http://www.akbkhome.com