我的模型Item和Actor具有HABTM关系 (正常工作) 。
现在,我添加了角色模型,它包含了actorid,itemid(作为外键)和演员'作用。
在我的项目视图中,我想展示演员及其演员。角色。 我设置了recursive = 2。
当我调试$ items时,我会收到属于该actor的所有角色。 相反,我只想显示的角色包含已查看的itemid和actorid。
我相信我可能需要调整我的模型,但不知道如何......有什么建议吗?
项目模型
public $hasAndBelongsToMany = array(
'Actor' => array(
'className' => 'Actor',
'joinTable' => 'item2actor',
'foreignKey' => 'item_id',
'associationForeignKey' => 'actor_id',
'unique' => 'true'
));
public $hasMany = array(
'Role' => array(
'className' => 'Role',
'foreignKey' => 'actorid',
));
演员模特
public $hasAndBelongsToMany = array(
'Item' => array(
'className' => 'Item',
'joinTable' => 'item2actor',
'foreignKey' => 'actor_id',
'associationForeignKey' => 'item_id',
'unique' => 'true'));
public $hasMany = array(
'Role' => array(
'className' => 'Role',
'foreignKey' => 'actorid',
));
答案 0 :(得分:0)
我建议使用Containable行为,而不是使用非常大的查询和递归,这样可以更容易地维护您希望从DB接收的数据。
http://book.cakephp.org/2.0/en/core-libraries/behaviors/containable.html @ Cake Book。