Я искал некоторые из них для этого, но я даже не знаю, как это назвать.CakePHP Containable: та же модель в глубокой ассоциации
В упрощенной версии, у меня есть эти модели:
Person
(номер, имя) - hasMany:ArrivalDate
Country
(номер, имя) - hasMany:Person
ArrivalDate
(идентификатор, ARRIVAL_DATE, salesman_id) - belongsTo:Person
,Salesman
(= имя класса>Person
)
Как вы можете видеть, я стараюсь, чтобы люди с датами прибытия и продавцы в ОДНОМ ТАБЛИЦЕ.
После получения данных я использую сдерживаемое поведение для получения только тех моделей, которые я хочу.
$person = $this->Person->find('first', array(
'conditions' => array('Person.id' => $id),
'contain' => array(
'Country',
'ArrivalDate'
)
));
Но вопрос: Как «содержать» в Salesman
в этом?
Salesman
это просто псевдоним для Person
и если я содержать Person
модель я просто получить родительские данные. Если я попытаюсь скрыть псевдоним (Salesman
), я получаю сообщение об ошибке.
Это называется автореферентной ассоциацией. –
@Nebojsac Спасибо, это имеет смысл. – mtwell