0
協會實體我有一個JSON對象,我將它保存使用CakePHP 3.保存JSON對象與使用CakePHP 3
比方說,供應商會購買一些產品,因此我需要填寫purchase
記錄和關聯表products_purchases
,其中將包含在該purchase
期間購買的產品的所有記錄。
我將使用一些JavaScript動態生成一些字段,以便能夠用數量,價格填充多個products
..在該purchase
期間,然後將所有數據存儲在JSON object
中。
所以在add.ctp
鑑於purchase
,我也會有這樣的JSON object
爲〔實施例:
$data = {
"reference": "V656413",
"supplier_id": 31,
"payment_id": 5,
"products_purchases": [
{
"product_id": 5566,
"purchase_id" 999,
"quantity": 4,
"price": 899
},
{
"product_id": 7865,
"purchase_id" 999,
"quantity": 6,
"price": 54
},{
"product_id": 434,
"purchase_id" 999,
"quantity": 8,
"price": 22
},
]
}
我POST
這個對象在add.ctp
文件中使用form
,以及如何我怎麼能處理和保存它作爲一個實體與其在PurchasesController
其協會?
的add
方法在控制器現在是如下:
public function add()
{
$purchase = $this->Purchases->newEntity();
if ($this->request->is('post')) {
$purchase = $this->Purchases->patchEntity($purchase, $this->request->data);
if ($this->Purchases->save($purchase)) {
$this->Flash->success(__('The purchase has been saved.'));
return $this->redirect(['action' => 'index']);
} else {
$this->Flash->error(__('The purchase could not be saved. Please, try again.'));
}
}
$this->set('_serialize', ['purchase']);
}
非常感謝您!
我不知道怎樣才能發佈和保存JSON這樣。 – dwix
您需要解碼json數據,然後在保存功能上提交。 – Ravendra