私の状況: HABTM と hasOne リレーションを同じモデルで動作させたいと考えています。残念ながら、グループリーダーのユーザー情報をユーザーグループにロードしていません。
- ユーザーは複数のユーザーグループを持つことができます
- ユーザーグループは 1 人のグループリーダー (ユーザー ID) を持つことができます
どんな助けでも感謝します
私はこのようなテーブルレイアウトを持っています:
ユーザー
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' )
);