"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')
我有一个 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')