Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
cakePHP和同一表之间的多种类型的关系_Cakephp_Models_Relationship - Fatal编程技术网

cakePHP和同一表之间的多种类型的关系

cakePHP和同一表之间的多种类型的关系,cakephp,models,relationship,Cakephp,Models,Relationship,我有两个表-用户和商店 还有第三个表-存储了应该管理关系的用户(HABTM) 但是,商店中有一个用户id列,它指的是商店的所有者,即创建商店记录的人(belongsTo)。 此用户可以向其他用户授予管理权限 我是否应该因为这种关系而期望出现问题?这不应该是问题。您可以为您的关联提供别名 class Store extends AppModel { public $belongsTo = array( 'Creator' => array(

我有两个表-
用户
商店

还有第三个表-
存储了应该管理关系的用户(HABTM)

但是,商店中有一个用户id列,它指的是商店的所有者,即创建商店记录的人(belongsTo)。
此用户可以向其他用户授予管理权限


我是否应该因为这种关系而期望出现问题?

这不应该是问题。您可以为您的关联提供别名

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(...)
    )
)