【问题标题】:Keeping EntityManager of Doctrine in a session variable将 Doctrine 的 EntityManager 保存在会话变量中
【发布时间】:2011-08-04 05:24:26
【问题描述】:

我正在开发一个网络应用程序,我将使用 docrine 框架来管理, 并发请求和事务查询(例如插入或更新头和行记录)。

对于网络必需品,我认为将操作分成不同的步骤: 第一步:我有一个页面,允许用户插入 HeadTable 记录,然后我将信息发送到服务器,创建一个实体并将其存储在具有持久功能的 EntityManager 中。

第二步:用户将编辑并插入所有的 RowsTable 记录。完成后,像以前一样,我将所有数据发送到服务器,创建实体并将它们关联到 HeadTable 记录。

最后一步:当用户确认他所做的一切时,我触发 EntityManager 的刷新操作并在单个原子事务中将所有内容提交到数据库。 为了将所有这些步骤保持在一起,我将 EntityManager 放在会话变量中,并在刷新操作后将其删除。

一切似乎都很好,但我想知道这是否是解决问题的正确方法,或者是否有更好的方法。

【问题讨论】:

    标签: php doctrine-orm session-variables entitymanager


    【解决方案1】:

    听起来是个合理的尝试。

    不过,我可能会避免跨请求存储实体管理器。它需要担心数据库连接,因此可能会中断。

    可以做的只是将实体存储在会话中。从实体管理器中分离()它们,然后在下一个请求时将它们合并()。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-08
      • 2013-03-31
      • 1970-01-01
      • 2012-05-17
      • 2011-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多