首页 > 解决方案 > Symfony - 令牌存储返回匿名

问题描述

在我的 Symfony 项目中,我保留了一些实体对象,并且在该方法字段中,我试图设置登录用户。

转储结果时,它说:

"anon."

认为这意味着“匿名”。

我仍然登录,但是:

/**
 * @var TokenStorageInterface
 */
private $tokenStorage;

public function __construct(
    TokenStorageInterface $tokenStorage
) {
    $this->tokenStorage = $tokenStorage;
}

$new->setUserId($this->tokenStorage->getToken()->getUser());

错误说:

关联字段“App\Entity\MyEntity#$userId”的“App\Entity\User”类型的预期值,改为“字符串”。

为什么我无法获得登录用户?

标签: symfonysymfony4

解决方案


Symfony 试图从 MyEntity 获取您的用户,但 Symfony 使用的 getter 似乎实现得很差。

验证实现 UserInterface 的 User 类(来自 Symfony)。

如果 $userId 上没有指定错误类型,请验证您的原则映射(MyEntity - User)。


推荐阅读