2012年12月3日月曜日

[CakePHP]deleteAll()やdelete()の$cascadeはmodel側の設定も必要

$this->Model->deleteAll($conditions,$cascade)の$cascadeに
いくらtrueを設定しても関連モデルのデータを消してくれなくて
調べていたら、 以下のサイトに書いてあった。(英語)

 CakePHP - delete cascade not working

 Model側のアソシエイションを設定するところで、以下のように
dependentをtrueに設定する必要があることがわかった。
 var $hasMany = array(
  'ThemesitemsUser' => array(
   'className' => 'ThemesitemsUser',
   'foreignKey' => 'themesitem_id',
   'dependent' => true,
   'conditions' => '',
   'fields' => '',
   'order' => '',
   'limit' => '',
   'offset' => '',
   'exclusive' => '',
   'finderQuery' => '',
   'counterQuery' => ''
  );
 );

0 件のコメント:

コメントを投稿