我正在寻求一些代码建议。我有两个相互依赖的模型。当其中一个模型被删除时,我想确保删除数据库中的两条记录。
我使用外键在一个方向上处理这个问题,所以如果父级被删除。但是由于这些行都相互依赖,我需要在孩子身上发生相同的功能。
在子模型中,我重载了 delete 方法,所以它看起来像这样:
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();
}
}
我已经测试过了,这似乎运作良好。我想知道专家/大师是否可以确认我是否做对了:)
谢谢
艾伦