"Semantical Error" line 0, col 14 near 'User u WHERE': Error: Class 'User' is not defined

"Semantical Error" line 0, col 14 near 'User u WHERE': Error: Class 'User' is not defined

我有一个 Symfony 5 项目,它具有默认身份验证和 User 实体。我正在阅读 Doctrine documentation 以使用 $em->createQueryBuilder() 函数,但我得到了这个错误:

[Semantical Error] line 0, col 14 near 'User u WHERE': Error: Class 'User' is not defined.

我只是需要查询一些具有特定角色的用户,所以我在控制器中写了以下代码:

$em = $this->getDoctrine()->getManager();
$qb = $em->createQueryBuilder();
$category_users = $qb->select(array('u'))
    ->from('User', 'u')
    ->where('u.category = ' . $category->getId())
    ->setParameter('roles', '%"ROLE_CUSTOM"%')
    ->orderBy('u.name', 'ASC')
    ->getQuery()
    ->getResult();

我知道错误与编写查询本身无关,我想这可能有两个问题,但以防万一...

问题 1:我忘记得到这个错误是什么?我读过以前版本的 Symfony 我应该将 Bundle 名称添加到 from('User', 'u') 但我不确定这个版本。

问题 2:此代码是否适合此类查询?或者也许我把事情复杂化了?

您必须为实体使用 FqCN。

例如from('App\Entity\User', 'u')