繁体   English   中英

CakePHP 4 -> 如何保存加入记录

[英]CakePHP 4 -> how to save join record

我正在开发一个 CakePHP 4 应用程序,并且我在CategoriesProducts之间建立了一个名为CategoriesProducts的连接表。

当我使用名为categories_products的属性创建新产品时,该属性包含如下数组:

[
    [
        'category_id' => `x`
    ]
]

应该保存到连接表中的是category_id和新生成的product_id

数据不会保存到联接表中。

在 saveMany 函数中,我传递了:

[
    'associated' => [
        'Categories'
    ]
]

当我尝试添加关联 => CategoriesProducts 时,我收到未定义关系的错误。

有人可以向我解释如何填写联接表吗? 我已经使用 CakePHP 助手设置了数据库并烘焙了模型。

提前致谢!

使用默认关联保存过程,您无需直接为连接表添加数据,而是使用目标关联属性并提供要链接的记录的主键。

因此,在您的情况下,可能是categories ,例如,您用于修补/创建实体的数据将像这样构造,其中id是您要与新产品关联的现有类别的主键:

[
    // ...
    'categories' => [
        [
            'id' => 123,
        ],
    ],
]

然后 ORM 将自动创建正确的连接表记录。

也可以看看

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM