0

这个问题开始做我的头了!我正在尝试为我的网站构建一个基本的发票系统,它使用的是 CakePHP。

但是,我可以毫无问题地保存几乎所有数据,当我想保存两个字段“workdes”和“price”这是数组时,每次我尝试保存数据时都会收到 Array 错误到字符串!

这是我的代码:

        $test = $this->request->data; 
        foreach($test as $test2 => $tets3) {

            $this->Invoicedata->create();

            $InvoiceGroupData = array(
              'Invoicedata' => array(
                'workdes' => $this->request->data['workdes'],
                'price' => $this->request->data['price']
              )
            );
            //debug($InvoiceGroupData); die();

            $this->Invoicedata->saveMany($InvoiceGroupData);
        }

这就是 $this->request->data 里面的内容:

'workdes' => array(
    (int) 0 => 'dfgdfg',
    (int) 1 => 'sswd'
),
'price' => array(
    (int) 0 => '500',
    (int) 1 => '100'
)

这只是测试数据,我可以有任何一个输入或五个输入。所以我做错了什么?我认为 SaveMany 的使用是将数组保存到数据库中。

我要保存的表/模型名称是调用 Invoicedata,其中的两个表是“workdes”和“price”。

任何其他我没有提出的问题并且需要,请询问!

请帮忙....

非常感谢

格伦。

更新 ::

这是我尝试过的两段代码,但我仍然遇到 Array to String 的问题!!

代码尝试 1:

        $WorkHolder = $this->request->data['workdes'];
        $PriceHolder = $this->request->data['price'];

        $MyData = array(
                      array('Invoicedata' => array('workdes' => $WorkHolder)),
                      array('Invoicedata' => array('price' => $PriceHolder)),
            );
        foreach($MyData as $test2 => $test3) {

            $this->Invoicedata->create();



            //debug($test3);

            $this->Invoicedata->saveMany($test3);
        } 

代码尝试 2:

            $WorkHolder = $this->request->data['workdes'];
            $PriceHolder = $this->request->data['price'];

            $MyData = array(
                      array('Invoicedata' => array('workdes' => $WorkHolder)),
                      array('Invoicedata' => array('price' => $PriceHolder)),
            );

            //debug($MyData); die();

            $this->Invoicedata->saveMany($MyData);

一个带有 foreach 循环,一个没有,代码尝试 2 是我第一次尝试的,现在我的代码看起来像代码尝试 1。我已经更改,或者至少我认为我已经将我的数组数据更改为想要 CakePHP 需要的数据是,那我做错了什么?

4

1 回答 1

1

尝试阅读文档

来自文档:

$data = array(
    array('Article' => array('title' => 'title 1')),
    array('Article' => array('title' => 'title 2')),
);

您的数据应如下所示。

于 2013-06-23T10:13:37.143 回答