【问题标题】:CakePHP 1.3 controller save() does not save dataCakePHP 1.3 控制器 save() 不保存数据
【发布时间】:2010-05-19 14:00:52
【问题描述】:

我想在数据库中添加一个新用户,并通过让他们填写表单并提交来实现。一切似乎都很好。就在我在控制器中调用save() 之前,我返回所有数据并且所有必要的数据都在那里。它是有效的(ated),因为没有返回错误。

然后什么都没有发生。我正在返回我的表单,没有显示任何错误。 这是我的“保存线”:

if($this->Registratie->save($this->data)) {

我没有使用任何beforeSave() 方法。

使用debug($this->validationErrors); 显示:

app/controllers/registratie_controller.php (line 45)

上面那行代码。

我一遍又一遍地检查我的代码。问题可能是什么?

【问题讨论】:

  • var_dump($this->Registratie->save($this->data)); 的输出是什么?
  • 返回数据?我相信你宁愿抛弃它,因为返回会破坏控制流。
  • 你的 $this->data 数组的格式是什么?是不是这个数组的key不匹配,不会保存,也不会报错

标签: cakephp controller save cakephp-1.3


【解决方案1】:

当您使用 FormHelper 创建表单时,它会生成如下输入名称:

<input type='text' name='data[Registratie][first_name]'>

一旦提交表单,cake 会将其推送到索引为“Registratie”的 $this->data 数组中

您可能需要在保存时将索引传递给模型

if ($this->Registratie->save( $this->data['Registratie'] ) ) {

我还会执行 var_dump($this->data)print_r($this->data) 以确保您的表单字段能够通过。

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,完全按照 Jack B Nimble 所说的进行了修复。使用 CakePHP 1.3

    示例:

    型号:联系人

    $this->data['contact']
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-24
      • 2012-07-06
      • 1970-01-01
      相关资源
      最近更新 更多