CakePHP Containable:深度关联中的相同模型

CakePHP Containable:深度关联中的相同模型,cakephp,cakephp-2.3,containable,Cakephp,Cakephp 2.3,Containable,我找了不少,但我都不知道该怎么称呼它 在简化版本中,我有以下模型: 个人(身份证、姓名)-有许多:到达日期 国家(id,姓名)-有许多:人 ArrivalDate(id、到达日期、销售员id)-归属于:Person,销售员(className=>Person) 正如你所看到的,我试图把有到达日期的人和销售人员放在一张桌子上 在检索数据时,我使用containable行为仅获取所需的模型 $person = $this->Person->find('first', array(

我找了不少,但我都不知道该怎么称呼它

在简化版本中,我有以下模型:

  • 个人
    (身份证、姓名)-有许多:
    到达日期
  • 国家
    (id,姓名)-有许多:
  • ArrivalDate
    (id、到达日期、销售员id)-归属于:
    Person
    销售员
    (className=>
    Person
正如你所看到的,我试图把有到达日期的人和销售人员放在一张桌子上

在检索数据时,我使用containable行为仅获取所需的模型

$person = $this->Person->find('first', array(
    'conditions' => array('Person.id' => $id),
    'contain' => array(
        'Country',
        'ArrivalDate'
    )
));
但问题是:我如何“包含”这个
销售人员?

saller
只是
Person
的别名,如果我包含
Person
模型,我只获取父数据。如果我试图包含别名(
saller
),我会得到一个错误

'contain' => array(
        'Country',
        'ArrivalDate',
        'ArrivalDate.Salesman' => array( insert needed fields here ... )
    )

应该适用于您的情况

这称为自参考关联。@内博伊萨克谢谢,这很有道理。谢谢,非常简单。我发现我遇到的问题由于人物模型中的虚拟场而变得复杂。