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 Sousa

Alexandre,这更像是一个数据库问题,而不是symfony

当您尝试更新此记录时,您正在使用新值更改CourseTypeId和CollegeId,这些值根据您是外键而定。这些字段(CourseTypeId和CollegeId)中的值是否存在于引用这些键的表中

例如:

假设您将CourseTypeId设置为15,CollegeId设置为10,那么值15和10是否也存在于引用这些外键的数据库表中?如果没有,则会显示您遇到的完整性约束错误。由于您正在更新而不是真正插入,因此值15和10必须出现在两个外键列引用的表中

这有用吗