尝试在表中插入记录时出现以下错误:
错误:SQLSTATE [23000]:完整性约束违规:1452无法添加或更新子行:外键约束失败(invoice
。quotes
,CONSTRAINT quotes_ibfk_1
FOREIGN KEY( contacts_id
)参考Contacts
(id
))
我在两个表的“联系人”和“引号”之间建立了关系。 'quotes'有一个外键设置contacts_id。
我的引号控制器中的Add方法如下所示:
public function add() {
$this->log('Quote Controller --> Add Method...1');
$this->log($this->request->data);
if ($this->request->is('post')) {
$this->Quote->create(); // This line writes the details to the database.
if ($this->Quote->save($this->request->data)) {
$this->Session->setFlash('Your quote has been saved.');
$this->redirect(array('action' => 'index'));
} else {
$this->Session->setFlash('Unable to add your quote.');
}
}
}
任何帮助表示赞赏。
答案 0 :(得分:0)
尝试保存数据时没有正确的外键时会发生错误。
我猜这个$ this-> request->数据中的“contacts_id”值为空/空。您可能想要添加debug($ this-> request-> data);在$ this-> Quote-> create();
之后而且似乎你没有遵循CakePHP的惯例。您的contacts_id字段应为contact_id。这可能有助于解决问题。