【CakePHP】アソシエーションされたモデルを削除する
バージョン:CakePHP 2.x
CakePHPで、アソシエーションが設定されたモデルのデータを削除する方法についてです。
例えば会社(Company)というテーブルがあり、それに紐づいて社員(Staff)というテーブルがあるとします。
会社Aというデータを削除した場合に、会社Aの社員も同時に削除する場合には、モデルの「dependent」をtrueに設定します。
class Company extends AppModel { public $name = 'Company'; public $hasMany = array( 'Staff' => array( 'className' => 'Staff', 'dependent' => true ) ); public $hasOne = 'その他のモデルなど'; }
そしてコントローラーで削除を実行すると、その会社IDに紐づいた社員も同時に削除することができます。
$this-> Company->delete($id);