簡體   English   中英

2個表中的外鍵(CakePHP)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM