0

我的数据结构如下:

Company hasMany Regions
Region hasMany Markets
Market hasMany Stores
Store hasMany Employees

必要时我也有适当的 belongsTo 。

我使用外键进行关联。例如,每个商店都有 market_id。

当我删除公司记录时,也会删除正确的区域。但是,我突然想到,我还需要删除所有关联的 Markets、Stores 和Employees。或者,如果我删除了一个市场,我需要删除所有商店和员工。

实现此目的最合适的方式是什么?

  1. 我会在表中添加额外的外键吗?例如,除了 market_id 之外,商店还需要 region_id 和 company_id 吗?
4

1 回答 1

1

使用依赖关联:

http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html#hasmany

dependent:当dependent 设置为true 时,可以进行递归模型删除。在此示例中,评论记录将在其关联的用户记录已被删除时被删除。

您不需要添加额外的外键。

于 2013-05-13T01:52:58.297 回答