非常感谢最近的帮助。它工作得很好,但现在我遇到了一些代码问题。
//Save course record to DB
$record_course = new course();
$record_course->setName($courseInfo['name']);
$record_course->setUrl($courseInfo['url']);
$record_course->setAcronym($courseInfo['acronym']);
$record_course->setCourseTypeId($record_courseType->getId());
$record_course->setStartDate($courseInfo['startDate']);
$record_course->setCollegeId($record_college->getId());
$record_course->setPlanUrl($courseInfo['planUrl']);
$record_course->replace();
正如您所看到的,我尝试更新记录,但现在我们有一些外键。在这种情况下是CourseTypeId和CollegeId。当我尝试替换此记录时,我会收到下一条消息:
“SQLSTATE [23000]:完整性约束违规:1451无法删除或更新父行:外键约束失败(grabmark
。course
,CONSTRAINT course_course_type_id_course_type_id
FOREIGN KEY({ {1}})参考course_type_id
(course_type
))“
有人可以帮我吗? 抱歉,我现在正在symfony开始,这是我第一次接触MVC框架。 非常感谢, 亚历山大·索萨
答案 0 :(得分:2)
Alexandre,这是一个比symfony更多的数据库问题。
当您尝试更新此记录时,您将使用新值更改CourseTypeId和CollegeId,并根据您是外键更改这些值。这些字段中的值(CourseTypeId和CollegeId)是否存在于引用这些键的表中?
例如:
假设您将CourseTypeId设置为15,将CollegeId设置为10,那么数据库表中是否还存在值15和10,这些外键是从哪里引用的?如果没有,则会显示您遇到的Integrity约束错误。由于您正在更新而不是真正插入,因此值15和10必须存在于表中,两个外键列引用的位置。
这有帮助吗?