CakePHP中的模型关联帮助

CakePHP中的模型关联帮助,cakephp,model,model-associations,Cakephp,Model,Model Associations,我目前正在使用CakePHP开发一个项目,用户可以在其中创建项目。每个项目只有一个管理员用户,但其他用户应该能够“查看”该项目。如何为用户创建此“视图”选项? 我已经完成了以下模型关联: [用户模型]有许多[项目](到每个用户可以有许多项目的时候) 我现在有点困惑,我不知道我应该创建什么样的附加模型关联:/I think a belongsTo或hasandblongsomany,但我不确定:/I能帮我吗 提前谢谢你 您需要有3个数据库表 用户 项目-此表需要有一列(管理员),其中包含代表管理员

我目前正在使用CakePHP开发一个项目,用户可以在其中创建项目。每个项目只有一个管理员用户,但其他用户应该能够“查看”该项目。如何为用户创建此“视图”选项? 我已经完成了以下模型关联: [用户模型]有许多[项目](到每个用户可以有许多项目的时候)

我现在有点困惑,我不知道我应该创建什么样的附加模型关联:/I think a belongsTo或hasandblongsomany,但我不确定:/I能帮我吗


提前谢谢你

您需要有3个数据库表

  • 用户
  • 项目-此表需要有一列(管理员),其中包含代表管理员用户的用户id
  • 用户项目-此表是代表项目成员的用户和项目之间的交叉引用表
  • CakePHP模型

    用户

    项目


    您可以在用户中添加新字段is_admin,以区别管理员用户和普通用户扫描任何用户查看任何项目,或者是否存在另一条逻辑限制用户可以查看哪些项目?这样,任何用户都可以查看任何项目(管理员和普通用户之间仅存在差异)。我需要的是每个项目都可以从其管理员和成员(而不是平台中的任何其他用户)查看。{到目前为止,只有管理员可以查看自己的项目,当然其他管理员的项目也不能查看。}您的数据模型缺少一部分—关于项目中有成员的部分。一个用户可以是一个以上项目的成员吗?我现在正在实施这个,等待反馈,并感谢您非常准确的回复!!
    public $useTable = 'users';
    public $hasMany = array(
        'ProjectAsAdmin' => array(
           'className' => 'Project')
      );
    public $hasAndBelongsToMany = array(
        'ProjectAsMember' => array(
           'className' => 'Project')
      );
    
    public $useTable = 'projects';
    public $hasAndBelongsToMany = array(
        'Member' => array(
           'className' => 'User')
     );
    public $belongsTo = array(
        'Administrator' => array(
           'className' => 'User',
           'foreignKey' => 'administrator'
         )
      );