Cakephp模型不会保存表单输入
我有一个非常简单的模型用户,它将表用户与字段“id”、“username”、“password”、“role”、“created”、“modified”相关联 视图add.ctp包含: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');?><
<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')