2011-11-08 27 views
0

我想知道在CakePHP中創建「有一個屬於一個」關係的最佳方法是什麼。不幸的是,我沒有在互聯網上找到任何幫助我的東西。PHP/CakePHP:與HasOneBelongToOne的關係

我試圖進行這樣的:

公司型號:

var $belongsTo = array(
    'User' => array(
     'className' => 'User', 
     'foreignKey' => 'user_id', 
     'conditions' => '', 
     'fields' => '', 
     'order' => '' 
    ) 
); 

用戶模式:

var $hasOne = array(
    'Company' => array(
     'className' => 'Company', 
     //'foreignKey' => 'user_id', 
     'dependent' => true 
    ) 
); 

但仍然CakePHP的允許我爲一個用戶創建兩個公司。

在這裏,我的數據庫模式: 公司:ID,姓名,...邀請,USER_ID 用戶:ID,姓名,...

非常感謝

+0

這裏是一切正常,你問題不在這裏,我想代碼中的某處 – sukinsan

回答

3

CakePHP的只能處理以下關係:

  • 一對一
  • 一對多
  • 多對一
  • 多對多

Read more here

如果你想要做的「都有一個屬於一個」,然後使用兩個對象的hasOne功能。

0

如果每個用戶只有一個公司,並且每個公司都屬於一個且只有一個用戶,他們是不是應該在同一張桌子上?

喜歡:

USER 
Id 
Name 
... 
Company 

很抱歉,如果我不應該問的問題回到這裏,但似乎有關。

0

在你的數據庫中,公司表user_id應該設置爲唯一的。