HABTM删除约束

时间:2012-06-27 15:07:53

标签: cakephp constraints has-and-belongs-to-many

我有两个型号Category和Item。类别可以有很多项目,项目可以在很多类别中,因此它们之间的关系是HABTM。 我的问题是,即使项目在其中,也可以删除类别。 我在数据库表categories_items中有一个外键,即resTRICTS删除,但它没有帮助。 如果项目在其中,我应该怎么做才能防止删除类别?

1 个答案:

答案 0 :(得分:1)

您需要覆盖CategoriesController中的实际“删除”方法,以验证类别中的项目在删除之前没有。

像...一样的东西。

$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);