Php 完整性约束冲突–;yii\db\IntegrityException

Php 完整性约束冲突–;yii\db\IntegrityException,php,yii,Php,Yii,在Yii框架中,我面临着删除记录的问题,info表包含一个外键,该外键与其他表链接。我正在按顺序删除记录,方法是在最后一次从info表中删除记录。请帮我解决这个问题 $model = StuMaster::findOne($id); $address = StuAddress::findOne($model->stu_master_stu_address_id); $info = StuInfo::findOne($model->stu_master_stu_info_id); $p

在Yii框架中,我面临着删除记录的问题,info表包含一个外键,该外键与其他表链接。我正在按顺序删除记录,方法是在最后一次从info表中删除记录。请帮我解决这个问题

$model = StuMaster::findOne($id);
$address = StuAddress::findOne($model->stu_master_stu_address_id);
$info = StuInfo::findOne($model->stu_master_stu_info_id);
$pastacademics = StuPastacademics::findOne(['pastacad_studenid' => $info->stu_unique_id]);
$guardians = StuGuardians::findAll(['guardia_stu_master_id' => $model->stu_master_id]); 

$pastacademics->delete();
$model->delete();
$info->delete();
完整性约束冲突–yii\db\IntegrityException

SQLSTATE[23000]:完整性约束冲突:1451无法删除或更新父行:外键约束失败(
whizzee\u dihedblat
stu\u info
,约束
stu\u info\u ibfk\u 3
外键(
stu\u-info\u-stu-master\u-id
)引用
stu-master

正在执行的SQL是:从
stu-master
中删除,其中
stu-master-id
=61

在删除stu-master记录之前,您需要删除该记录的所有引用。你只删除过去的学者,还需要删除地址和信息记录。好的,我这样做了,但是现在错误被更改了,正在执行的SQL是:从
stu\u address
中删除,其中
stu\u address\u id
=55在删除主记录之前,您必须先删除引用数据。您可能有另一个地址id为外键的关联表。。如果不想删除引用记录,可以使用SET FOREIGN\u KEY\u CHECKS=0。在我看来,软删除比硬删除更好。我也更喜欢软删除,但是,有没有办法追踪现有的引用,因为数据库中列出了许多表。@RavindraBhalothia我找到了依赖表,在这些表中,引用是通过信息模式查询进行的,并首先删除了这些记录,但在我尝试删除信息记录或主记录时,仍然显示相同的错误。在删除之前stu_主记录您需要删除该记录的所有引用。你只删除过去的学者,还需要删除地址和信息记录。好的,我这样做了,但是现在错误被更改了,正在执行的SQL是:从
stu\u address
中删除,其中
stu\u address\u id
=55在删除主记录之前,您必须先删除引用数据。您可能有另一个地址id为外键的关联表。。如果不想删除引用记录,可以使用SET FOREIGN\u KEY\u CHECKS=0。在我看来,软删除比硬删除更好。我也更喜欢软删除,但是有没有办法追踪现有的引用,因为数据库中列出了许多表。@RavindraBhalothia我找到了依赖表,在这些表中,引用是通过信息模式查询进行的,并首先删除了这些记录,但当我尝试删除信息记录或主记录时,仍然显示相同的错误。