我需要一些代码建议。 我有两个相互依存的模型。 当其中一个模型被删除时,我希望确保数据库中的两个记录都被删除。
我使用外键处理了其中一个方向,因此如果父记录被删除,它们也会被删除。 但是,由于这些行彼此相互依存,我需要在子模型中发生相同的功能。
在子模型中,我重载了删除方法,使其如下所示:
public function delete() {
$cameraTransaction = $this->dbConnection->beginTransaction();
try
{
$this->ftpuser->delete();
if($this->beforeDelete())
{
$result=$this->deleteByPk($this->getPrimaryKey())>0;
$this->afterDelete();
}
$cameraTransaction->commit();
}
catch(Exception $e) // an exception is raised if a query fails
{
$cameraTransaction->rollBack();
}
}
我已经进行了测试,似乎效果不错。我想知道是否有专家/大师可以确认我做得对 :)
谢谢
艾伦
ON DELETE CASCADE
? - Stu