多个模型关联到同一个表

时间:2013-01-16 09:31:13

标签: cakephp model-associations

我的情况:我想在同一模型中使用HABTM和hasOne关系。不幸的是,它没有将groupleaders用户信息加载到用户组中。

  • 用户可以拥有多个用户组
  • 用户组可以拥有一个群组负责人(用户ID)

任何帮助apreciated

我有这样的表格布局:


用户

id
username

user_usergroups

id
user_id
usergroup_id

用户组

id
groupname
groupleader (value is user_id)

用户组模型

public $hasAndBelongsToMany = array(
    'User' => array(
        'className' => 'Users',
        'foreignKey' => 'usergroup_id',
        'associationForeignKey' => 'user_id'
    )
);


public $hasOne = array(
    'GroupLeader' => array( 'className' => 'User',
    'foreignKey' => 'usergroup_groupleader' )
);

2 个答案:

答案 0 :(得分:1)

控制器中缺少以下内容

$this->Staffgroup->recursive = 1;

答案 1 :(得分:0)

添加

public $hasAndBelongsToMany = array(
'User' => array(
    'className' => 'Users',
    'joinTable'=>'user_usergroups',
    'foreignKey' => 'usergroup_id',
    'associationForeignKey' => 'user_id'
)

);

现在,当您在usersgroup控制器中检索信息时,它将包含用户组领导者的信息。