2012-03-02 80 views
0

這應該是一個簡單的是/否回答,所以在這裏。cakephp鏈接的數據通過JOIN HABTM需要兩個相關的數據?

如果我設置了3個表,2個典型的記錄集和1個通過2個表的id連接它們,我是否需要這兩個表中的id才能在連接表中有條目?

該場景是Jobs表和Parts表連接的JobsParts表。但有些零件不在零件表中,它們只是屬於Job的自由文本條目(以避免庫存控制問題)。

希望這足以解釋我的問題。

感謝

BTW使用CakePHP 2.0

回答

1

對於數據庫的理智,我想說的連接表 'jobs_parts' 應該有兩個標識。

如果嘗試將自由格式零件輸入到連接表中,則不僅會增加連接表的大小,而且實際上已經失去了增長/展開的能力 - 即。如果你想添加更多的字段到這個未知的部分呢?或者,如果事實證明你是普通零件表中實際需要的零件,它會變得混亂。

有對付自由形式的零件與實際零件等選項...

  • 在部分表,這是一個TINYINT場(1)它是否是一個經過驗證的一部分
  • 或進行UnknownParts模型/表

在我看來,去什麼使爲了便於理解邏輯意義和您的數據庫/網站...等將來的更新。國際海事組織在自由表中添加一個自由格式的部分並不適合該法案。