Cakephp显示与外键关联的其他模型

时间:2012-11-07 17:32:43

标签: foreign-keys cakephp-2.0

我的模型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',  
));

1 个答案:

答案 0 :(得分:0)

我建议使用Containable行为,而不是使用非常大的查询和递归,这样可以更容易地维护您希望从DB接收的数据。

http://book.cakephp.org/2.0/en/core-libraries/behaviors/containable.html @ Cake Book。