![](/img/trans.png)
[英]How to cake bake for tables with no primary key, but only foreign keys in cakephp 4
[英]Foreign Key in 2 tables (CakePHP)
我有3个表:人员,用户和线程。
员工和用户都可以创建线程,并且线程属于用户。
在线程中,有一个user_id(FK-BelongsTo)。 问题是,我该如何识别谁创建了线程。 如果我创建一个名为creator_id的字段,我仍然不知道是创建该线程的人员还是用户。
我还尝试了一种不同的方法,即创建一个称为创建者的字段(enum('staff','user))。 这种方法的局限性是,当我使用Thread-> find()时,我想不出一种方法来检索创建者的信息。
为了达到我想要的目标,我必须采取哪些选择?
请按照“线程模型”中的以下步骤进行模型关联。 创建一个名为creator_id的字段,并存储创建线程的用户/工作人员的ID,
public $belongsTo = array(
'Client' => array(
'className' => 'Staff',
'foreignKey' => 'creator_id',
'conditions' => array('Thread.creator' => 'staff'),
'fields' => '',
'order' => ''
),
'User' => array(
'className' => 'User',
'foreignKey' => 'creator_id',
'conditions' => array('Thread.creator' => 'user'),
'fields' => '',
'order' => ''
)
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.