0

私のデータ構造は次のとおりです。

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

また、必要に応じて適切な belongsTo も用意しています。

関連付けには外部キーを使用しました。たとえば、各店舗には market_id があります。

会社のレコードを削除すると、正しい地域も削除されます。しかし、関連するすべてのマーケット、ストア、および従業員も削除する必要があることに気付きました。または、マーケットを削除した場合、すべての店舗と従業員を削除する必要があります。

これを達成するための最も適切な方法は何ですか?

  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 に答える