当我提交注册表格时,我使用:
$this->User->saveAll($this->request->data, array('validate' => 'first', 'deep' => true));
该行失败。它不能保存我的新用户和所有相关数据。我得到这个错误:
Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (
myDBName .
individual , CONSTRAINT
graduate_id_fk FOREIGN KEY (
educ_id ) REFERENCES
educations (
id ) ON DELETE NO ACTION ON UPDATE NO ACTION)
.
我猜CakePHP试图保存我的第一个与用户表记录相关,这就是为什么我得到这个错误。有人知道如何设置保存对象的顺序吗?如何查看生成的查询?
谢谢人。
将查询输出到视图或日志文件:
输出到视图:
<?php echo $this->element('sql_dump'); ?>
输出到日志:
$db =& ConnectionManager::getDataSource('default');
$db->showLog();
如果您在看到查询后仍然有问题,请发布您收集的调试信息,以及您正在传递到saveAll()
的数组。