2

我有一个 Symfony2 应用程序,当用户登录时,它具有以下过程:

  • 用户输入他们的登录详细信息
  • 详细信息通过第 3 方 API 进行身份验证
  • 如果登录详细信息正确,我们会将来自 API 的信息负载同步到应用程序需要的数据库中
  • 所有信息都通过 Doctrine 中设置的关系附加到用户对象

问题是当 PDO 会话处理程序将此信息放入会话时,它似乎正在存储用户对象以及所有关系,从而导致存储大量数据,其中大部分是不需要的,因为 Doctrine 可以延迟加载它们反正。

这也会导致问题,因为数据量有时太大以至于它不适合 session_value 字段,即使它是导致会话损坏的 LONGTEXT 字段。

那么,有没有一种方法可以安全地从学说实体中删除关系数据,然后再将它们放入会话中?我试过使用 __sleep 和 __wake 但它们没有被调用。

4

1 回答 1

1

实现Serializable接口并仅序列化您需要的内容。

于 2013-03-28T17:59:49.403 回答