我在我的数据库中的两个表:SQL错误:1452:不能添加或更新子行,外键约束失败
order
;course
。
order
具有柱courseid
它引用course
表的id
列。每当我试图做saveAll()
在CakePHP
上述SQL
错误将显示和数据不会被保存。
我在我的数据库中的两个表:SQL错误:1452:不能添加或更新子行,外键约束失败
order
;course
。order
具有柱courseid
它引用course
表的id
列。每当我试图做saveAll()
在CakePHP
上述SQL
错误将显示和数据不会被保存。
它听起来是你的表之间有数据库中的外键约束。这意味着在course_id列中,您不能插入与外部表中的id不同的值。
上面的错误意味着当您发布数据时,外地字段为空或缺失。
查找的内容: 1.检查数据库中的子表中的外部字段是否可以接受NULL。如果你有下拉值,如果字段不接受NULL,那么默认选项是空的,这个错误可能发生 2.如果你在例子中传递变量,检查控制器中的数据:$ this-> data ['Order' ] ['course_id']如果它是空的或丢失,请参阅第1点。
我将仅仅为了寻求答案的其他人提供答案。在其他框架中使用ORM时,我在保存添加角色之前尝试分配角色或其他数据时犯了错误。例如:
创建一个新的用户
$user = ORM::factory('user');
$user->username = 'SomeoneSpecial";
if ($user->add(ORM::factory('role', 'login') && $user->save()) {
// continue on with code
}
用户创建,但在尝试添加角色的用户被保存之前,你最终用户没有作用,而且确切的错误是向你吐口水。
请将您的型号代码添加到您的问题。只有关系绑定 – JohnP 2011-03-10 07:39:52