我在我的數據庫中的兩個表: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