カテゴリとアイテムの2つのモデルがあります。カテゴリには多くのアイテムを含めることができ、アイテムは多くのカテゴリに含めることができるため、それらの間の関係はHABTMです。私の問題は、アイテムが含まれていてもカテゴリが削除される可能性があることです。データベーステーブルcategories_itemsに、削除を制限する外部キーがありますが、役に立ちません。アイテムが含まれている場合にカテゴリが削除されないようにするにはどうすればよいですか?
質問する
417 次
1 に答える
1
CategoriesController の実際の「delete」メソッドを上書きして、カテゴリを削除する前にカテゴリにアイテムがないことを確認する必要があります。
何かのようなもの...
$c = $this->Category->findById($id);
$rels = $this->CategoriesItem->find('count', array('conditions' => array('CategoriesItem.category_id' => $id)));
if(count($rels) > 0) $this->Session->setFlash("NO WAY JOSE");
else $this->Category->delete($id);
于 2012-06-27T15:18:51.390 に答える