Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.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
Cakephp模型不会保存表单输入_Php_Forms_Cakephp_Model - Fatal编程技术网

Cakephp模型不会保存表单输入

Cakephp模型不会保存表单输入,php,forms,cakephp,model,Php,Forms,Cakephp,Model,我有一个非常简单的模型用户,它将表用户与字段“id”、“username”、“password”、“role”、“created”、“modified”相关联 视图add.ctp包含: <div class="users form"> <?= $this->Form->create('user'); ?> <fieldset> <legend><?= __('Add user');?><

我有一个非常简单的模型用户,它将表用户与字段“id”、“username”、“password”、“role”、“created”、“modified”相关联

视图add.ctp包含:

<div class="users form">
    <?= $this->Form->create('user'); ?>

    <fieldset>
        <legend><?= __('Add user');?></legend>
        <?= $this->Form->input('user.username'); ?>

        <?= $this->Form->input('password'); ?>

        <?= $this->Form->input('role', array('options' => array('admin' => 'Admin', 'customer' => 'Customer'))); ?>

    </fieldset>
    <?= $this->Form->end(__('Submit')); ?>
</div>
最后,控制器仅具有:

public function add() {
    if($this->request->is('post')) {
        $this->User->create();
        if ($this->User->save($this->request->data)) {
            $this->set('stuff', $this->User->data);
            $this->Session->setFlash(__('The user has been saved.'));
            //return $this->redirect(array('action' => 'index'));
        } else {
            $this->Session->setFlash(__('The user could not be saved. Please try again.'));
        }
    }
}
我已经注释掉了成功时的重定向,以便能够在提交时显示插入查询。如果我允许重定向,则只显示SELECT的查询

因此,很简单,问题是,提交表单时,它会生成以下查询:

INSERT INTO `mytable`.`users` (`modified`, `created`) VALUES ('2014-02-21 13:03:11', '2014-02-21 13:03:11')
我如何确定它为什么不插入提交的字段?我该怎么做呢?

用这个代替

用这个代替


CakePHP是区分大小写的模型名称必须在CamalCase中

您有$this->Form->create'user';使用小写字母,尝试$this->Form->create'User';。在保存到控制器中并在这里发布该数组之前,您可以调试进一步执行pr$this->request->data。非常简单。令人印象深刻的是,一个人在数小时内盯着一段代码看时会变得多么失明。
INSERT INTO `mytable`.`users` (`modified`, `created`) VALUES ('2014-02-21 13:03:11', '2014-02-21 13:03:11')