标签: Transaction
-
针对 Yii 2.0 中企鹅号任务发布后入库失败无法查询记录的问题,文章放弃了客户端冗余存储方案,采用新建预发布日志表并增大字段长度的设计。通过创建继承 ActionFilter 的过滤器,在动作执行后根据返回码非 10000 时插入记录,并利用 UNION ALL 语法合并查询结果,成功实现了入库成功与失败皆可查询的功能。
-
针对在PHP 7.1和Yii 2框架中使用AR活动记录事务同时操作多个模型的需求,文章通过具体代码实现演示了该过程。为验证事务的原子性,文中分别测试了主模型保存失败、子模型保存失败以及两者均保存成功的场景。测试结果显示,无论哪个模型操作失败,数据库均未执行写入,只有两者全部成功时才更新数据,有效保证了数据一致性。
