我有两张牌桌 - users
和stores
还有第三个表 - stores_users
应该管理关系(HABTM)。
但是,商店中有一个user_id列,它引用商店的所有者,即创建商店记录的人(belongsTo)。 该用户可以向其他用户授予管理权限..
由于这种关系我应该期待问题吗?
答案 0 :(得分:1)
这应该不是问题。您可以为您的关联提供别名
class Store extends AppModel {
public $belongsTo = array(
'Creator' => array(
'className' => 'User',
'foreignKey' => 'user_id',
),
);
public $hasAndBelongsToMany = array(
'Manager' => array(
'className' => 'User',
'joinTable' => 'stores_users',
'foreignKey' => 'store_id',
'associationForeignKey' => 'user_id',
),
);
}
现在find
上的Store
操作将返回
array(
[Store] => array(...)
[Creator] => array(...)
[Manager] => array(
0 => array(...)
1 => array(...)
)
)