Отношения Yii в областях неосновного и неключевого ключа

У меня проблемы с созданием отношений по не ключевым областям. Моя проблема в том, что возвращаются все записи из таблицы 'HAS_MANY', а не только совпадающие значения, указанные в разделе 'on' отношения.

Table: customer
- id (PK)
- name
- reference_key

Table: visit
- id
- system_id
- reference_key

Model: Customer relations...
    'visits'=>array(self::HAS_MANY, 'Visit', '', 'on'=>'reference_key=visits.reference_key'),

Model: Visit relations...
    'customer'=>array(self::BELONGS_TO, 'Customer', 'reference_key'),

$dataSet = $data->visits(); // this all records from visit table instead of visits matching on the reference key. 
foreach($dataSet as $visit){
    echo 'visit key: '.$visit->reference_key.'; ';
}

Использование псевдонима решает проблему неоднозначных имен столбцов. Тем не менее, я получаю несоответствующие результаты.

Любая помощь приветствуется. Благодарю.

2 ответа

Пытаться

'visits'=>array(self::HAS_MANY, 'Visit', array('reference_key'=>'reference_key')),

После того, как отношения не заработали, я решил просто добавить метод для получения правильных результатов.

return Visit::model()->findAllByAttributes( array('visitor_key'=>$this->visitor_key) );

Это позаботится об этом. Спасибо!

Другие вопросы по тегам