我有一个 JSON 对象,需要使用 cakePHP 3 来发布
并保存它。
假设 vendor 购买了一些产品,因此我需要填写一条purchase
记录和关联表products_purchases
,其中将包含该期间购买的所有产品记录一次购买
。
我将使用一些 JavaScript 动态生成一些字段,以便能够在购买
期间填充多个产品
的数量、价格......,然后存储所有JSON 对象
中的数据。
因此,在 purchase
的 add.ctp
View 中,我将获得以下 JSON 对象
例如:
$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
},
]
}
如何使用 add.ctp
文件中的 form
来 POST
这个对象,以及如何处理它并将其另存为实体及其在 PurchasesController
中的关联?
Controller 中的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']);
}
非常感谢!
最佳答案
您必须管理与模型的适当关联。访问下面的链接,您可以在其中了解如何通过关联保存数据。
关于javascript - 使用 cakePHP 3 将 JSON 对象保存为具有关联的实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42147587/