在每个请求结束时都可以调用Doctrine的flush吗?

问题描述 投票:1回答:1

根据我对Doctrine及其flush命令的了解,实体管理器使用persist方法建立了对实体的更改的集合,将更改传播到相关实体,同时建立了“持久查询”以供调用flush时将提交数据库的那些更改。

如果我的理解是正确的,那么在每次请求结束时都具有某种应用程序挂钩(我的应用程序是ZF2应用程序,但可能是任何MVC应用程序)是否有意义? flush是无论如何都会被使用的方式(我从未在文档或博客文章中看到过类似的内容)?

php doctrine-orm zend-framework2
1个回答
1
投票

取决于您的应用程序,在每个请求结束时调用flush()方法都不会有问题。但是我认为您必须将其视为事务,您应该在模型层(或取决于控制器)中控制事务,而不是作为挂钩。那不是交易的目的,对吧?您应该能够控制应用程序的每一笔交易,而不是只为所有事务进行一次交易。

© www.soinside.com 2019 - 2024. All rights reserved.