Forms CakePHP2在add.ctp处过帐为空
编辑 在我http://host/MyCake/index.php/table/add,一个包含10个输入字段的表单,提交时Forms CakePHP2在add.ctp处过帐为空,forms,cakephp,empty-list,Forms,Cakephp,Empty List,编辑 在我http://host/MyCake/index.php/table/add,一个包含10个输入字段的表单,提交时 Error: SQLSTATE[23502]: Not null violation: 7 ERROR: null value in column "revista_id" violates not-null constraint SQL Query: INSERT INTO "fasciculos" ("created", "modified", "
Error: SQLSTATE[23502]: Not null violation: 7
ERROR: null value in column "revista_id" violates not-null constraint
SQL Query:
INSERT INTO "fasciculos" ("created", "modified", "user_id") VALUES ('now()', 'now()', 1)
嗯,关于NOTNULL违规字段revista_id,我尝试用ALTER COLUMN revista_id DROP Not null更改SQL删除约束,并且更改是正确的,它会运行!但是,问题是:*SQL插入的其他10个字段在哪里
是的,当我更改时,提交的数据记录为空,所有10个字段均为空
我正在使用PostgreSQL 9.X
我还与FascculoController的var_dump核实了发布的数据是否在那里,是的,它在那里
public function add() {
if ($this->request->is('post')) {
$this->Fasciculo->create();
var_dump($this->request->data); // showing below
if ($this->Fasciculo->save($this->request->data)) // bug here!
...
}...
...}
vardump具有所有POST数据
array(1) {
["Fasciculos"]=>array(11) {
["other_id"]=> string(3) "540"
//... all data here ...
}
}
TABLE是MySQL/PostgreSQL中的一个保留关键字,作为保留关键字,我认为数据库可能会被插入到TABLE中弄糊涂。。。SQL的一部分
这里可能还会发生其他事情,但尝试重命名表模型和控制器可能是个好主意。并确保在对模型进行重大更改时清除CakePHP缓存文件等
请参阅:,您的其他控制器添加函数是否正常工作?我想知道名称表是否导致了某种保留字问题。。。但我似乎找不到CakePHP API中使用的表。。。。不过,在SQL中使用单词table来表示实际的表有点奇怪,对吗?@summea,关于第一个问题,是的,确实如此。关于第二个:对不起,我更改了原始名称,它是所有应用程序SQL和Cake的有效名称。其他id是假的名称,还是实际内容?正在读取错误消息,这应该是revista_id吗?另外,为了在CakePHP中进行调试,请使用debug命令,根据cake,该命令将从问题中的信息中为您提供比var_dump更可读的输出,仅创建、修改表中存在的字段,并使用user_id。cake将忽略您传递以保存但不在架构中的任何字段。因此,表模式是什么,实际的post数据是什么,模型代码是什么?这里的所有数据对不起,正如我在上面评论的。。。我更改了所有应用程序SQL和Cake的原始名称,这是一个有效名称。@PeterKrauss再次感谢您的更新。关于这一点,我还有另一个想法:在您更改了模型和控制器的名称等之后,您是否确保清除CakePHP项目的缓存?有时缓存会保留您的旧型号名称。。。最后一个模型名可能与前面讨论的保留关键字表冲突。如果您尝试删除CakePHP缓存文件会发生什么情况?naver的名称已更改,只有第一次编辑是简化的,现在我显示了一个精确的转储。。。我只更改了NOTNULL,这还可以,没有缓存。我有另一个版本,另一个人尝试同样的结果。。。好的,谢谢你的支持。@PeterKrauss很抱歉,你现在还没有成功;我们仍然可以继续尝试,但是,有更多的信息…@PeterKrauss你有没有找到这个问题的原因?