Содержимое не может присоединиться к отношениям ownTo, когда в CakePHP 1.3.4 используются "поля"
(CakePHP версия 1.3.4)
У меня есть следующая связь между моделью контакта с моделями аккаунта и теста:
class Contact extends AppModel {
var $name = 'Contact';
var $actsAs = array('Containable');
var $hasMany = array(
'Test' => array(
'className' => 'Test',
'foreignKey' => 'contact_id',
'dependent' => false
)
);
var $belongsTo = array(
'Account' => array(
'className' => 'Account',
'foreignKey' => 'account_id',
'dependent' => false
)
);
}
Следующий запрос работает просто отлично:
$contact = $this->Contact->find('first', array(
'contain' => array(
'Account', 'Test'
),
'conditions' => array(
'Contact.id' => $contactId
)
));
Но как только введены "поля", ассоциация относится к разрывам аккаунта, но ассоциация hasMany с тестом остается в порядке:
$contact = $this->Contact->find('first', array(
'contain' => array(
'Account', 'Test'
),
'conditions' => array(
'Contact.id' => $contactId
),
'fields' => array(
'Contact.id', 'Contact.first_name', 'Contact.last_name', 'Contact.account_id'
)
));
Кто-нибудь еще, кажется, имеет эту проблему?
1 ответ
Да, у меня точно такая же проблема. У меня есть отношение Сотрудник к адресу, и
$this->dataout = $this->Employee->find('all',array(
'contain' => array('Address.full_name'),
'fields' => array('Employee.id','Employee.address_id')
));
(где Address.full_name
это виртуальное поле). Без предоставленного списка полей это работает. Может подать отчет об ошибке?