1

我有具有 HABTM 关系的模型 Item 和 Actor (工作正常)

现在,我添加了Role 模型,其中包含 actorid、itemid(作为外键)和演员的角色。

在我的项目视图中,我想显示演员及其角色。我设置了递归= 2。

当我调试 $items 时,我会收到属于该参与者的所有角色。 相反,我只想显示包含查看的 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',  
));
4

1 回答 1

0

我建议不要使用 -very large- 查询和递归,而是使用 Containable 行为,这样更容易维护要从 DB 接收的数据。

http://book.cakephp.org/2.0/en/core-libraries/behaviors/containable.html @蛋糕书。

于 2013-04-09T14:24:28.690 回答