Symfony3 security.token_storage返回与Symfony2不同的实体数据

时间:2016-04-21 02:40:38

标签: php doctrine symfony

我已经将Symfony 2.3应用程序升级到Symfony 3.0.4,在经历了很多混乱之后,我几乎可以解决所有问题。我现在遇到的问题是,当我从Symfony3中的User获取security.token_storage实体时,它返回的用户在从{{获取用户实体时没有一些数据1}}在Symfony2中。

Symfony2的:

security.context

返回其中包含客户的用户实体:

$user = $this->get('security.context')->getToken()->getUser();

Symfony3:

customers: {array}[1]

返回其中没有客户的用户实体:

$user = $this->get('security.token_storage')->getToken()->getUser();

我正在寻找任何帮助,说明为什么它不能正常工作或者我应该看看它有什么区别。

我们正在使用Doctrine ORM初始获取用户实体。是否有可能在最新版本的Doctrine中完成缓存的方式错过了什么?

1 个答案:

答案 0 :(得分:0)

Security.token_storage在您的示例中运行正常。

您应该检查token and/or user provider中的代码。

如果您使用的是doctrine2,那么您的实体可能需要eager loading吗?

我对doctrine1不了解:(