[英]CakePHP 4 -> how to save join record
我正在开发一个 CakePHP 4 应用程序,并且我在Categories
和Products
之间建立了一个名为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.