我是一个相对较新的蛋糕,我再次无法解决它如何做到能得到我想要的东西。我真的很想找到做我需要的“正确”方式。
我正在建立一个“绩效”系统,每个月用它来回顾一下上个月有人如何反对他们的目标。
本月的评论设定了新的目标,并且还记录了上个月的结果。
我有一个评论模型,它有许多目标。
在本月评论的编辑视图中,我显示了上个月的评论&目标中的一些领域与上个月的评论相关。
我需要保存过去几个月目标的结果,以及能够设置这个月目标 - 所以我将数据保存到与当前评论相关的目标,以及另一个目标。< / p>
当我尝试保存“无关”目标时,CakePHP强制将review_id作为当前ID的ID - 我甚至尝试在Review :: afterSave回调中循环并检查每个review_id - 尽管我可以发送正确的review_id值为目标 - &gt;保存,数据库仍然使用当前的Review ID进行更新,而不是我设置的那个。
有谁能告诉我保存到与当前模型的另一个实例相关的模型的“蛋糕”方式?这甚至可能吗?
答案 0 :(得分:0)
好吧,这可能不是最有效的方法 - 但我已经到了最后期限。
因此,我没有检索上个月的评论,而是使用finderQuery创建了另一个“hasMany”关系,该查询具有子选择以查找上个月查询的ID,并使用该关系选择具有该review_id的目标。它使用{$__cakeID__$}
来查找当前评论的ID,如下所述:
http://book.cakephp.org/view/1039/Associations-Linking-Models-Together#hasMany-1043
因为一切都以Cake理解的方式相互关联,所以事情只会在saveAll上自动更新。
这意味着我有一个荒谬的子选择查询,将过去几个月的目标与本月的评论相关联,但它确实有效。
有一天,我会弄清楚如何优化它,这样就不会让我的数据库哭...