I am querying a MANY_MANY Relation:
Relational Rule:
return array('persons'=>array(self::MANY_MANY,'person','PersonIncident(incidentId, personId)')
This is my AR Code:
$criteria=new CDbCriteria;
$criteria->condition='id = "INM02932087"';
$testList=Incident::model()->with('persons')->findAll($criteria);
The Log also looks fine(see below), the last line shows the (correct) select statement that, when executed from SQLite Manager, returns one dataset.
But:
$testList contains my incident-Data,
$testList->persons is empty!!??!! it should contain one dataset in this case.
$testList[0]->_related contains an array persons that is <Uninitialized>
Am I doing something wrong or is it AR?
Thank you,
Michael
[11:42:43.506][trace][system.db.CDbCommand] Querying SQL: PRAGMA table_info('Person')
[11:42:43.508][trace][system.db.CDbCommand] Querying SQL: PRAGMA foreign_key_list('Person')
[11:42:43.518][trace][system.db.CDbCommand] Querying SQL: PRAGMA table_info('Incident')
[11:42:43.519][trace][system.db.CDbCommand] Querying SQL: PRAGMA foreign_key_list('Incident')
[11:42:43.520][trace][system.db.ar.CActiveRecord] Person.findAll() eagerly
[11:42:43.521][trace][system.db.CDbCommand] Querying SQL: SELECT 'Person'."id" AS t0_c0, 'Person'."dn" AS t0_c1, 'Person'."firstname" AS t0_c2, 'Person'."lastname" AS t0_c3, 'Person'."street" AS t0_c4, 'Person'."zipcode" AS t0_c5, 'Person'."city" AS t0_c6, 'Person'."company" AS t0_c7, 'Person'."phone" AS t0_c8, 'Person'."mobile" AS t0_c9, 'Person'."email" AS t0_c10 FROM 'Person'
[11:42:43.522][trace][system.db.CDbCommand] Querying SQL: PRAGMA table_info('PersonIncident')
[11:42:43.522][trace][system.db.CDbCommand] Querying SQL: PRAGMA foreign_key_list('PersonIncident')
[11:42:43.523][trace][system.db.CDbCommand] Querying SQL: SELECT 'Person'."id" AS t0_c0, t1."id" AS t1_c0, t1."location" AS t1_c1, t1."home" AS t1_c2, t1."assignment" AS t1_c3, t1."priority" AS t1_c4, t1."downtime_start" AS t1_c5, t1."downtime_end" AS t1_c6, t1."status" AS t1_c7, t1."alert" AS t1_c8, t1."opened_on" AS t1_c9, t1."modified_on" AS t1_c10, t1."work_start" AS t1_c11, t1."work_end" AS t1_c12, t1."duration" AS t1_c13, t1."downtime" AS t1_c14, t1."category" AS t1_c15, t1."hardware" AS t1_c16, t1."software" AS t1_c17, t1."description" AS t1_c18, t1."action" AS t1_c19, t1."resolution" AS t1_c20, t1."customer_info" AS t1_c21 FROM 'Person' LEFT OUTER JOIN 'PersonIncident' incidents_t1 ON ('Person'."id"=incidents_t1."personId") LEFT OUTER JOIN 'Incident' t1 ON (t1."id"=incidents_t1."incidentId") WHERE ('Person'."id"=1) AND (incidentId="INM02932088")