CakePHP 3:修改查找数据

时间:2017-06-20 21:58:38

标签: cakephp cakephp-3.0

我目前在CakePHP 3中有一个名为Tickets的表,它有一些标志,如head_ticket和latest_ticket。基本上,当我编辑记录时,我创建一个新行(一个uuid字段保持记录链接在一起)并将latest_ticket标志设置为true,因为该行包含最新信息。

我想知道的是,有一种方法可以在查找中执行某些操作,我可以获取head_ticket设置为true的所有记录,但更新即时返回的头票数据列来自同时将latest_ticket标志设置为true的行的最新数据?它几乎就像一个afterFind场景,但在CakePHP 3中已被弃用

由于

1 个答案:

答案 0 :(得分:1)

阅读the migration guide,它包含了您的问题的答案,可能包含您想要的更多内容以及来自2.x时应该知道的内容:

  

使用ORM的Modifying Results with Map/Reduce功能,您可以从结果中构建聚合数据,这是经常使用afterFind回调的另一个用例。

有关Map / Reduce的文档包含基于某些过滤器的结果集聚合示例,我认为这几乎是您想要的。