CakePHP 3:修改查找数据
Posted
技术标签:
【中文标题】CakePHP 3:修改查找数据【英文标题】:CakePHP 3 : Modifying Find Data 【发布时间】:2017-06-20 21:58:38 【问题描述】:我目前在 Cakephp 3 中有一个名为 Tickets 的表,其中包含一些标志,例如 head_ticket 和 latest_ticket。基本上,每当我编辑一条记录时,我都会创建一个新行(一个 uuid 字段将记录链接在一起)并将 latest_ticket 标志设置为 true,因为该行包含最新信息。
我想知道的是,有没有一种方法可以在 find 中执行某些操作,我可以在其中获取所有将 head_ticket 设置为 true 的记录,但更新即时返回的 head ticket 数据列将 latest_ticket 标志同时设置为 true 的行中的最新数据?这几乎就像 afterFind 场景,但在 CakePHP 3 中已被弃用
谢谢
【问题讨论】:
【参考方案1】:阅读the migration guide,它包含您的问题的答案,以及来自 2.x 时您想要和应该知道的更多内容:
使用 ORM 的 Modifying Results with Map/Reduce 功能,您可以根据结果构建聚合数据,这是 afterFind 回调经常用于的另一个用例。
关于 Map/Reduce 的文档包含一个基于某些过滤器的结果集聚合示例,我认为这正是您想要的。
【讨论】:
感谢您的链接,我会进一步调查。以上是关于CakePHP 3:修改查找数据的主要内容,如果未能解决你的问题,请参考以下文章