【问题标题】:CakePHP - How to save single hasMany through record with many belongsTo records per hasMany at once?CakePHP - 如何一次通过记录保存单个 hasMany,每个 hasMany 有多个 belongsTo 记录?
【发布时间】:2014-01-25 16:59:41
【问题描述】:

我的模型本质上是

  • 所有者有一个相册
  • 资产有很多专辑
  • 专辑归所有者
  • 专辑属于资产

“album”中的记录将资产与所有者相关联,即“链接”,其中包含位置等额外信息,就像 cakephp 示例在此处所做的那样:hasMany through (The Join Model)。两个问题 - 文档演示通过 hasMany/relationship 控制器保存,而不是任何一端,在我的情况下,第一个模型有一个记录,而后者有很多(在一次保存中)。

隔离后,我可以以一种形式上传多个资产。然后控制器调用 saveManyIndi​​vidually(),这是资产模型中的一个方法,它通过循环上传每个资产以及相应的数据库记录。

我想在创建新所有者时执行此操作,因此所有者表单允许上传多个资产(同时保存相应的记录)。然后需要为每个资产记录创建一个专辑(链接)记录,外键是唯一的,单个 owner_id 贯穿所有,并且每个中有不同的asset_id。

我在 Owner 控制器中看不到一个可靠的 saveAssociated 方法。也许我可以在 beforeSave 中使用asset->saveManyIndi​​vidually 方法?

我可以进一步澄清这是不清楚的。

【问题讨论】:

    标签: cakephp upload save has-many-through has-many


    【解决方案1】:

    我认为最好的方法是分离控制器中的操作:

    1. 创建所有者
    2. 上传资产并为其保存记录
    3. 保存所有者 ID 和资产记录 ID 之间的关联

    我还没有时间做这个,但如果有更好的方法,我会编辑。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-16
      • 2012-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多