2
私は3つのテーブル名の記事、コメント、アドレスを持っています。cakephp 3.xカスケード削除が動作しない
articles -> fields(id,title,body)
comments -> fields(id,article_id,comment)
addresses-> fields(id,article_id,address)
と私の記事のコントローラでは、私はdependent => trueかつcascadeCallbacks => trueのままにしています。最初に私は従属=> trueで試してみましたが、カスケードを追加しましたが、まだ動作しません。以下は私のコードです。
$this->hasMany('Comments', [
'className' => 'Comments',
'dependent' => true,
'cascadeCallbacks' => true,
]);
$this->hasOne('Addresses',[
'dependent' => true,
'cascadeCallbacks' => true,
]);
ただし、記事を削除している間は、関連するレコードは削除されません。
public function delete($id = null)
{
$this->request->allowMethod(['post', 'delete']);
$article = $this->Articles->get($id);
if ($this->Articles->delete($article)) {
$this->Flash->success(__('The article has been deleted.'));
} else {
$this->Flash->error(__('The article could not be deleted. Please, try again.'));
}
return $this->redirect(['action' => 'index']);
}
私は間違いを教えてください。または任意のコードを追加または変更する必要がありますか? P1が助け
あなたの正確なケーキのバージョンは何ですか? – arilia
私のcakephpバージョン - 3.3.2 – Pavithra
ファイルと名前空間の命名は正しいですか? CommentsTable、AddressesTableなどを意味します.. – arilia