Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Forms CakePHP2在add.ctp处过帐为空_Forms_Cakephp_Empty List - Fatal编程技术网

Forms CakePHP2在add.ctp处过帐为空

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", "

编辑

在我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", "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你有没有找到这个问题的原因?