cakephp3 データの削除(関連などの削除方法)
$order = $this->Order->get(3);
$this->Order->delete($entity);
- まとめて削除はconditionsを指定する
※delteAllは afterDeleteとかのCallbackが呼ばれない。
$this->Order->deleteAll(['status_id'=>3])
- 関連テーブルを消す。
関連元のhasManyオプションで指定。(deleteAllで消される)
$this->hasMany('OrderDetails', [
'foreignKey' => 'order_id',
'dependent' => true
]);
- 関連テーブルを消す。
関連元のhasManyオプションで指定。afterDeleteとかのコールバックも呼びたい
$this->hasMany('OrderDetails', [
'foreignKey' => 'order_id',
'dependent' => true,
'cascadeCallbacks'=>true
]);
参考 :
https://book.cakephp.org/3.0/ja/orm/deleting-data.html
コメントを残す