Cakephp - 创建记录但没有数据的保存方法

Posted

技术标签:

【中文标题】Cakephp - 创建记录但没有数据的保存方法【英文标题】:Cakephp - save method creating record but without data 【发布时间】:2011-12-04 04:12:08 【问题描述】:

由于某种原因,我的模型的保存方法是在数据库中创建记录,但字段都是空的或为零。

表单应允许通过一次表单提交创建多个记录。

我的 $this->数据数组:

Array
(
[OfferingStudent] => Array
    (
    [0] => Array
        (
            [offering_id] => 35
            [owing] => 209.00
            [student_id] => 31
        )

)

)

使用保存方法:$this->Students->OfferingsStudent->saveAll($this->data)

这可能是什么原因造成的?

【问题讨论】:

【参考方案1】:

我相信在使用saveAll 时,您实际上并没有在数组中包含模型的名称。尝试将您的数据更改为:

Array
(
    [0] => Array
        (
            [offering_id] => 35
            [owing] => 209.00
            [student_id] => 31
        )

)

http://book.cakephp.org/view/1031/Saving-Your-Data

来自该页面:

请注意,我们传递的是 $data['Article'] 而不是通常的 $data。什么时候 保存相同模型的多条记录,记录数组应该是 只是在没有模型键的情况下进行了数字索引。

或者更确切地说,只需使用 $this->data->OfferingStudent 作为 saveAll 的第一个参数,而不仅仅是 $this->data

【讨论】:

以上是关于Cakephp - 创建记录但没有数据的保存方法的主要内容,如果未能解决你的问题,请参考以下文章

CakePHP 使用 saveAll:如何使用 HABTM 链接记录保存额外数据?

CakePHP 1.3 未保存到数据库但 sql 语句正确且 insertID 正确增加

Cakephp 3.5 多次保存相同的记录

CakePHP - 如何在保存时将关联记录添加到模型中?

如何使用 CakePhp 克隆/复制 sql 记录?

在 CakePHP 中保存多行表格