1

HABTM 関係を持つモデル Item と Actor があります(正常に動作しています)

ここで、actorid、itemid (外部キーとして)、およびアクターの役割を保持するRole モデルを追加しました。

Item ビューで、アクターとその役割を表示したいと思います。recursive =2 に設定しました。

$items をデバッグすると、そのアクターに属するすべてのロールを受け取ります。 代わりに、表示されたアイテム ID とアクター ID を含むロールのみを表示したいと思います。

モデルを微調整する必要があるかもしれませんが、方法がわかりません..何か提案はありますか?

項目モデル

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

非常に大規模なクエリと再帰を使用する代わりに、DB から受け取りたいデータを維持するのがはるかに簡単な Containable 動作を使用することをお勧めします。

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

于 2013-04-09T14:24:28.690 に答える