javascript - 使用 cakePHP 3 将 JSON 对象保存为具有关联的实体

标签 javascript php json cakephp-3.0 cakephp-3.x

我有一个 JSON 对象,需要使用 cakePHP 3 来发布并保存它。

首先,我有 4 个表,如图所示 TABLES

假设 vendor 购买了一些产品,因此我需要填写一条purchase记录和关联表products_purchases,其中将包含该期间购买的所有产品记录一次购买

我将使用一些 JavaScript 动态生成一些字段,以便能够在购买期间填充多个产品的数量、价格......,然后存储所有JSON 对象中的数据。

因此,在 purchaseadd.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 文件中的 formPOST 这个对象,以及如何处理它并将其另存为实体及其在 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']);
    }

非常感谢!

最佳答案

您必须管理与模型的适当关联。访问下面的链接,您可以在其中了解如何通过关联保存数据。

https://book.cakephp.org/3.0/en/orm/saving-data.html

关于javascript - 使用 cakePHP 3 将 JSON 对象保存为具有关联的实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42147587/

相关文章:

javascript - 字符串化数组时的 JSON.stringify 问题

javascript - 发生了不必要的提升。!为什么?

php - 是否/是否有任何浏览器允许控制流构造在脚本标签中存活?

javascript - react 模式自定义组件未显示正确的数据

php - 我得到一个 undefined variable

PHP-你如何拆分一组不同的行,这些行被放在一起?

asp.net-mvc - .NET Web API 将 JSON 反序列化为对象时出现问题

javascript - 用于匹配 URL 的每个子域的正则表达式

php mysqli 删除重复的行但具有不同的 id?

PHP - 将资源从 PHP 推送到嵌套不同资源/星期几的 JSON 时出错