我需要从表单保存我的关联数据。表格结构如下:
我有一些与BelongsToMany相关的模型(例如与与MediasObjects的媒体相关联的Users的模型) 用户:ID,电子邮件... 书籍:编号,标题... 等等...
媒体:ID,文件...。 MediasObject:id,object_name,object_id,media_id
这样的表单返回数据(在编辑用户之后):
$data = Array
(
[id] => 1
[email] => 'some@email.com'
..
[medias] => Array
(
[0] => Array
(
[id] = 17
)
)
)
我有用户(id = 1),也有媒体(id = 17),现在我需要像这样将关联数据保存到MediasObject中:
Array(
[object_name] => 'Users',
[object_id] => 1,
[media_id] => 17
}
我不知道应该在哪里设置“ object_name”值?
答案 0 :(得分:0)
您需要设置一个_joinData
属性。
$data = [
'id' => 1,
'media' => [
[
'id' => 1,
'_joinData' => [
'object_name' => 'Users'
]
]
]
];
请参见https://book.cakephp.org/3.0/en/orm/saving-data.html#saving-additional-data-to-the-join-table