这个问题已经开始了!我正在尝试为我的网站构建基本发票系统,该系统正在使用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的数据需要它,所以我做错了什么?
答案 0 :(得分:1)
尝试阅读documentation。
来自docs:
$data = array(
array('Article' => array('title' => 'title 1')),
array('Article' => array('title' => 'title 2')),
);
您的数据应如下所示。