1

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

4

1 回答 1

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);
于 2012-06-27T15:18:51.390 回答