【问题标题】:cakePHP and more than one type of relation between same tablescakePHP 和同一张表之间的不止一种关系
【发布时间】:2011-11-05 21:48:20
【问题描述】:

我有两张桌子 - usersstores
还有第三个表 - stores_users 应该管理关系 (HABTM)。

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

我应该预料到这种关系会出现问题吗?

【问题讨论】:

    标签: cakephp models relationship


    【解决方案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',
             ),
        );
    
    }
    

    现在对Storefind 操作将返回类似的数据

    array(
        [Store] => array(...)
        [Creator] => array(...)
        [Manager] => array(
            0 => array(...)
            1 => array(...)
        )
    )    
    

    【讨论】:

      猜你喜欢
      • 2020-11-21
      • 1970-01-01
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 2018-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多