CakePHP:自引用HABTM关联?

CakePHP:自引用HABTM关联?,cakephp,associations,Cakephp,Associations,我想创建HABTM自我联想。也就是说,用户可以与其他用户关联。问题是:我可以将关联从一个用户保存到另一个用户,但我只能以一种方式查看和编辑这些关联。这是我的协会: 'Partner' => array( 'className' => 'User', 'joinTable' => 'players_trainers', 'associationForeignKey' => 'player_id', 'foreignKey' => 'tr

我想创建HABTM自我联想。也就是说,用户可以与其他用户关联。问题是:我可以将关联从一个用户保存到另一个用户,但我只能以一种方式查看和编辑这些关联。这是我的协会:

'Partner' => array(
    'className' => 'User',
    'joinTable' => 'players_trainers',
    'associationForeignKey' => 'player_id',
    'foreignKey' => 'trainer_id', 
    'unique' => true
)
因此,当我打电话给用户(培训师)时,我可以看到与他们相关的玩家。举手之劳但是,当试图从另一端查看/编辑关联(查看玩家与哪个教练关联)时,什么也看不到,因为关联对待每个用户的方式都是一样的:期望从教练关联到玩家

我曾考虑在我的控制器中进行动态绑定(基于用户角色),但这似乎有点不切实际


有没有一种干净的方法可以实现HABTM自关联,而不必向模型中添加新字段?我做错了什么?

尝试设置其他关联

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
  )
);
这有两个问题:a)查找('线程化',…)只返回“培训师”,而不返回“合作伙伴”;2)通过表单添加合作伙伴似乎不起作用。