这个问题开始做我的头了!我正在尝试为我的网站构建一个基本的发票系统,它使用的是 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 需要的数据是,那我做错了什么?