我想创建HABTM自关联。也就是说,用户可以与其他用户关联。问题是:我可以将关联从一个用户保存到另一个用户,但我只能以一种方式查看和编辑这些关联。下面是我的联想:
'Partner' => array(
'className' => 'User',
'joinTable' => 'players_trainers',
'associationForeignKey' => 'player_id',
'foreignKey' => 'trainer_id',
'unique' => true
)因此,当我呼叫一个用户(他是一名教练)时,我可以看到与他们相关联的球员。不客气。但是,当试图从另一端查看/编辑关联时(以查看球员与哪些教练关联),没有显示任何内容,因为关联以相同的方式对待每个用户:期望从教练关联到球员。
我想过在我的控制器中做一个动态绑定(基于用户角色),但这似乎很麻烦。
有没有一种干净的方法来拥有HABTM自关联,而不必向我的模型中添加新的字段?我做错了什么?
发布于 2012-10-17 09:15:18
尝试设置其他关联。
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
)
);https://stackoverflow.com/questions/12922402
复制相似问题