Код: Выделить всё
<?php
class Person extends CActiveRecord
{
public static function model($className=__CLASS__)
{
return parent::model($className);
}
public function tableName()
{
return 'addressBook';
}
public function relations()
{
return array(
'phones'=>array(self::HAS_MANY,'PhonePerson','user_id'),
);
}
}
?>
Код: Выделить всё
<?php
class PhonePerson extends CActiveRecord
{
public static function model($className=__CLASS__)
{
return parent::model($className);
}
public function tableName()
{
return 'phone_numbers';
}
}
?>
Код: Выделить всё
$criteria = new CDbCriteria();
$criteria->addCondition('`org_id` = :id');
$criteria->params[':id'] = $model->id;
$criteria->with = array('phones');
$persons = Person::model()->findAll($criteria);
foreach ($persons as $person)
{
echo count($person->phones),'<br>';
echo $person->phones[0]->id,'<br>';
}
1) Для всех людей оно показывает, что count($person->phones) = 1, хотя в базе явно не так
2)Для всех людей оно показывает одинаковое $person->phones[0]->id(что меня вообще вводит в ступор)
Версия Yii 1.1.4, в другой модели есть HAS_MANY, и он нормально работает.
Подскажите, куда копать тут?