【问题标题】:Cakephp 3 save associations belongsToManyCakephp 3 保存关联属于ToMany
【发布时间】:2018-06-20 11:48:02
【问题描述】:

我需要保存表单中的关联数据。表结构如下:

我有一些与 BelongsToMany 相关联的模型(例如用户与 Medias 和 MediasObjects 相关联的模型) 用户:id、email ... 书籍: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' 值?

【问题讨论】:

    标签: php associations cakephp-3.x


    【解决方案1】:

    您需要设置一个_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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多