我想创建HABTM自我关联。也就是说,用户可以与其他用户相关联。问题是:我可以将关联从一个用户保存到另一个用户,但我只能以一种方式查看和编辑这些关联。这是我的协会:
'Partner' => array(
'className' => 'User',
'joinTable' => 'players_trainers',
'associationForeignKey' => 'player_id',
'foreignKey' => 'trainer_id',
'unique' => true
)
因此,当我呼叫用户(他是一名教练)时,我可以看到与他们相关的玩家。没有汗水。但是当试图从另一端查看/编辑关联时(看看玩家与之关联的训练者)没有出现任何内容,因为关联是以相同的方式对待每个用户:期望从训练者关联到玩家。 / p>
我考虑过在我的控制器中进行动态绑定(基于用户角色),但这看起来很糟糕。
是否有一种干净的方式来进行HABTM自我关联,而无需向我的模型添加新字段?我做错了什么?
答案 0 :(得分:0)
尝试设置其他关联。
var $hasAndBelongsToMany = array(
'Partner' => array(
'className' => 'User',
'joinTable' => 'players_trainers',
'associationForeignKey' => 'player_id',
'foreignKey' => 'trainer_id',
'unique' => true
),
'Trainer' => array(
'className' => 'User',
'joinTable' => 'players_trainers',
'associatedForeignKey' => 'trainer_id',
'foreignKey' => 'player_id',
'unique' => true
)
);