CakePHP - 如何保存单个hasMany通过记录,每个hasMany一次有多个belongsTo记录?

时间:2014-01-25 16:59:42

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

我的模特基本上是

  • 所有者拥有一张专辑
  • asset hasMany album
  • 专辑belonsTo owner
  • 相册所属的资产

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

隔离后,我可以在一个表单中上传多个资产。然后控制器调用saveManyIndi​​vidually(),这是资产模型中的一个方法,它使用带有循环的相应DB记录上传每个资产。

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

我无法在所有者控制器中看到saveAssociated的确定方法。也许我可以在beforeSave中使用asset-> saveManyIndi​​vidually方法?

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

1 个答案:

答案 0 :(得分:0)

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

  1. 创建所有者
  2. 上传资产并为其保存记录
  3. 保存所有者ID与资产记录ID之间的关联
  4. 我还没有时间做这件事,但如果有更好的方法,我会编辑。