我目前正在使用CakePHP开发一个项目,用户可以在其中创建项目。每个项目只有一个管理员用户,但其他用户应该能够“查看”项目。我该如何为用户创建此“查看”选项? 我已经完成了以下模型关联: [用户模型] hasMany [Projects](当每个用户可以有很多项目时)。
我现在有点困惑,我不知道我应该创建什么额外的模型关联:/我认为属于一个或HasAndBelongsToMany,但我不确定:/你能帮助我吗?
提前谢谢你!
答案 0 :(得分:1)
您需要有3个数据库表
CakePHP模型
<强> 用户 强>
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'
)
);