如何在cakephp中同时使用两个关联
我正在使用CakePHP2.x 我的数据库中有两个表用户和作业, 在users表中,我保存了两种类型的用户job candidate和company在这种情况下,我发现我的self-facing表之间存在两种关系:如何在cakephp中同时使用两个关联,cakephp,Cakephp,我正在使用CakePHP2.x 我的数据库中有两个表用户和作业, 在users表中,我保存了两种类型的用户job candidate和company在这种情况下,我发现我的self-facing表之间存在两种关系: (1,n)用户可以添加(0,1)个作业。(此处的用户角色为公司) 许多(1,n)用户可以申请许多(1,n)工作。(候选人) 我可以在两种型号之间同时使用belongsTo和HABTM(HasandBELONGTOMANY)吗? 像这样: 工作模式 Class Job extends
Class Job extends AppModel{
public $belongsTo=array(
'User'=> array(
'className' => 'User',
'foreignKey' => 'user_id',
'counterCache'=>true,
'fields'=>array('id','username','role'),
)
);
public $hasAndBelongsToMany=array('User');
public $usetable = 'jobs';
Class User extends AppModel{
public $hasAndBelongsToMany=array('Job');
2-显示用户应用。您可以这样做,但这两个关联需要不同的别名。因此,您可以将申请
工作的用户
称为申请人
:-
class Job extends AppModel {
public $belongsTo = array(
'User'=> array(
'className' => 'User',
'foreignKey' => 'user_id',
'counterCache' => true,
'fields' => array('id', 'username', 'role'),
)
);
public $hasAndBelongsToMany = array(
'Applicant' => array(
'className' => 'User'
)
);
}
注意,您需要告诉Cake,申请人
通过className
属性使用用户
模型。对于您的belongsTo
关联,您不需要为用户指定类名
,因为它与别名相同,与型号名称相同,但为了清楚起见,我将其保留在了中
您也不需要指定$usetable='jobs
,因为使用正确的命名约定意味着这一点。为什么不将用户和公司分开?