![](/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.