Symfony1 Symfony-尝试使用一些外键更新数据库中的记录
非常感谢你最近的帮助。它工作得非常好,但是现在我在使用这段代码时遇到了一些问题Symfony1 Symfony-尝试使用一些外键更新数据库中的记录,symfony1,insert,doctrine,Symfony1,Insert,Doctrine,非常感谢你最近的帮助。它工作得非常好,但是现在我在使用这段代码时遇到了一些问题 //Save course record to DB $record_course = new course(); $record_course->setName($courseInfo['name']); $record_course->setUrl($courseInfo['url']); $recor
//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
,约束course\u-course\u-type\u-id
外键(course\u-type\u-id
)引用course\u-type
(id
)”
有人能帮我吗?
对不起,我现在在symfony启动,这是我第一次接触MVC框架。
谢谢,
Alexandre SousaAlexandre,这更像是一个数据库问题,而不是symfony 当您尝试更新此记录时,您正在使用新值更改CourseTypeId和CollegeId,这些值根据您是外键而定。这些字段(CourseTypeId和CollegeId)中的值是否存在于引用这些键的表中 例如: 假设您将CourseTypeId设置为15,CollegeId设置为10,那么值15和10是否也存在于引用这些外键的数据库表中?如果没有,则会显示您遇到的完整性约束错误。由于您正在更新而不是真正插入,因此值15和10必须出现在两个外键列引用的表中 这有用吗