我为此搜索了一些,但我甚至不知道该怎么称呼它。
在简化版中,我有这些模型:
Person
(id,name) - hasMany:ArrivalDate
Country
(id,name) - hasMany:Person
ArrivalDate
(id,arrival_date,salesman_id) - belongsTo:Person
,Salesman
(className => Person
)正如你所看到的,我正试图让到达日期的人和推销员在ONE TABLE中。
检索数据后,我使用可包含的行为来获取我想要的模型。
$person = $this->Person->find('first', array(
'conditions' => array('Person.id' => $id),
'contain' => array(
'Country',
'ArrivalDate'
)
));
但问题是:如何“包含”Salesman
?
Salesman
只是Person
的别名,如果我包含Person
模型,我只会获取父数据。如果我尝试包含别名(Salesman
),我会收到错误。
答案 0 :(得分:1)
'contain' => array(
'Country',
'ArrivalDate',
'ArrivalDate.Salesman' => array( insert needed fields here ... )
)
应该适合你的情况