【发布时间】:2014-08-25 20:55:39
【问题描述】:
在我提交表单时使用的注册表单:
$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.individuals, CONSTRAINTgraduate_id_fkFOREIGN KEY (education_id) REFERENCESeducations(id) ON DELETE NO ACTION ON UPDATE NO ACTION)。
我猜 CakePHP 正在尝试保存我的第一个与用户表记录相关的记录,这就是我收到此错误的原因。 有谁知道如何设置保存对象的顺序? 如何查看生成的查询?
谢谢各位。
【问题讨论】:
-
您的表是否使用递增 ID?如果是这样,它们是否设置为正确递增?
-
首先,最好共享有效负载的数组结构和数据库模式。其次,在使用 Cake 时,我通常不会在数据库中设置约束和规则。而是在模型验证规则中指定它们。因此只能在一处更新规则。