尝试使用CakePHP保存表单数组数据

时间:2013-06-23 06:39:01

标签: cakephp for-loop

这个问题已经开始了!我正在尝试为我的网站构建基本发票系统,该系统正在使用CakePHP。

但是,我几乎可以保存所有数据而没有任何问题,当我想保存两个字段时,'workdes'和'price'都是数组,每当我尝试保存数据时,我得到一个数组到字符串的错误!

继承我的代码:

        $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循环,一个没有,Code try 2是我尝试的第一个,现在我的代码看起来像代码尝试1.我已经改变了,或者至少我认为我已经将我的数组数据更改为想要CakePHP的数据需要它,所以我做错了什么?

1 个答案:

答案 0 :(得分:1)

尝试阅读documentation

来自docs:

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

您的数据应如下所示。