我正在开发一个CakePHP 4应用程序,并在Categories
和Products
之间建立了一个连接表,名为CategoriesProducts
。
当我创建一个名为categories_products
的属性的新产品时,该属性包含一个如下所示的数组:
[
[
'category_id' => `x`
]
]
应该保存到连接表中的是带有新生成的product_id
的category_id
。
数据不会保存到连接表中。
在saveMany函数中,我传递了:
[
'associated' => [
'Categories'
]
]
当我尝试添加关联的=〉CategoriesProducts时,我得到一个错误,即关系未定义。
有人能告诉我如何填充连接表吗?我已经设置了数据库,并使用CakePHP助手烘焙了模型。
提前感谢!
1条答案
按热度按时间zfycwa2u1#
使用默认关联保存过程,您无需直接为联接表添加数据,而是使用目标关联属性并提供要链接的记录的主键。
因此,在您的情况下,可能是
categories
,例如,用于修补/创建实体的数据的结构如下所示,其中id
是您要与新产品关联的现有类别的主键:然后,ORM将自动创建正确的连接表记录。
另请参阅
*Cookbook〉数据库访问和ORM〉保存数据〉转换属于多个数据