保存一长串hasMany Through关联

时间:2012-05-26 15:06:09

标签: cakephp associations

这可能被认为是一个非特定的问题,但我确信其他人已经遇到了这种难题,所以它可能只是被问到了!

我有两个模型:用户和调查。我的目标是从索引视图编辑/保存记录。在“索引”视图中,每个“用户”行都有两个选择列表和一些复选框。选择列表中填入了所有可用调查的名称。

目的是允许管理员为每个用户分配两个调查;从索引视图直接编辑和保存记录。目前,协会通过hasMany Through关联进行:中间模型称为SurveyAssignments(我不能做HABTM,因为我正在存储元信息)。

我正在努力的是:我无法弄清楚如何从视图中保存所有这些关联。使每个用户具有不同的关联“状态”的事实是:使一些用户具有关联记录,有些用户不会。有些将需要创建关联,其他更新或删除。新用户将添加到系统中,但仍会显示在已具有关联的当前现有用户的列表中。

还存在约束问题:每个用户最多只能有两个与之关联的SurveyAssignment记录。

同样,这是我无法理解的逻辑:如何从一个视图中保存多个记录,考虑每个用户的唯一关联状态,所有这些都没有过度膨胀或复杂?是否有任何可以简化情况的Cake方法?

1 个答案:

答案 0 :(得分:0)

我遇到的主要问题是尝试同时保存编辑和新记录。事实证明,Cake的自动化可以解决这个问题。

运行saveMany或saveAll时,如果包含记录的ID,则会创建新记录。如果执行包含ID,则Cake会更新预先存在的记录。