0
我的數據結構如下:CakePHP的數據庫設計
Company hasMany Regions
Region hasMany Markets
Market hasMany Stores
Store hasMany Employees
我也有相應的屬於關聯必要。
我使用外鍵進行關聯。例如,每個商店都有market_id。
當我刪除公司記錄時,正確的區域也被刪除。但是,我想到我還需要刪除所有關聯的市場,商店和員工。或者,如果我刪除了某個市場,則需要刪除所有商店和員工。
完成此操作的最恰當方式是什麼?
- 我會添加額外的外鍵到表嗎?例如,除了market_id,商店是否還需要region_id和company_id?
嗨,謝謝你的回覆。這適用於一個級別。我添加了依賴於公司hasMany Regions模型。這產生了預期的結果,相關區域被刪除。但是,市場,商店和員工並未被刪除。 (我確實爲所有模型添加了依賴關係)。接下來,我嘗試將公司擁有多個市場添加到公司模式。這導致了以下錯誤:「致命錯誤:類聲明可能不嵌套...」我需要遞歸刪除來遍佈許多表,從公司到區域到市場到存儲到員工的基礎上刪除公司。 – Jose 2013-05-13 13:39:23
好吧,我明白了!在CompaniesController.php中的刪除調用需要級聯設置爲true。這看起來像$ this-> Company-> delete($ id,true)。此外,對於從其他級別開始,如果我在Market上開始刪除,我會將級聯添加爲true,同時刪除關聯的商店和員工。 – Jose 2013-05-13 13:53:51