この問題は私の頭を悩ませ始めました! CakePHP を使用して、サイトの基本的な請求書システムを構築しようとしています。
ただし、ほとんどすべてのデータを問題なく保存できます。配列である「workdes」と「price」の 2 つのフィールドを保存したい場合、データを保存しようとすると、配列のエラーが発生します。ストリングに!
私のコードは次のとおりです。
$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'
)
これは単なるテスト データです。入力は 1 つまたは 5 つです。それで、私は何を間違っていますか?SaveMany の使用は、配列をデータベースに保存することだと思いました。
保存しようとしているテーブル/モデル名は Call Invoicedata で、その中の 2 つのテーブルは「workdes」と「price」です。
私が質問に入れておらず、必要なものが他にある場合は、お尋ねください!
助けてください....
どうもありがとう
グレン。
アップデート ::
これらは私が試したコードの 2 つのセクションであり、まだ配列から文字列への問題が発生しています!!
コード試行 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);
1 つは foreach ループで、もう 1 つはループなしで、Code try 2 は私が最初に試したもので、今は私のコードは code try 1 のように見えます。だから、私は何を間違っているのですか?