CakePHP2在add.ctp上发布为空

时间:2013-03-20 16:47:19

标签: 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", "user_id") VALUES ('now()', 'now()', 1)

好吧,关于“Not null violation”(字段revista_id)我尝试用ALTER COLUMN revista_id DROP NOT NULL更改SQL(删除约束),并且更改正常,它运行!但是,问题是:* SQL INSERT中的其他10个字段? !!

是的,当我更改时,提交的数据记录为空,所有10个字段都为NULL。


我正在使用PostgreSQL 9.X。

如果发布的数据在那里,我还在FasciculoController上检查了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 ...
     }
  }

1 个答案:

答案 0 :(得分:0)

TABLE是MySQL / PostgreSQL中的保留关键字,并且作为保留关键字,我认为数据库可能会被SQL的INSERT INTO table ...部分弄糊涂。

此处可能还有其他内容,但尝试重命名Table模型和控制器可能是个好主意。 (并确保在对模型进行重大更改等时清除CakePHP缓存文件。)

请参阅:MySQL reserved keywordsPostgreSQL reserved keywords