【发布时间】:2020-04-22 17:45:48
【问题描述】:
我正在尝试从 SQLite 数据库(Doctrine)中选择用户,但我只想选择具有 ROLE_ADMIN 的教师,但它不起作用,我收到错误。
这里是查询代码:
$teachers = $em->createQueryBuilder()
->select('t.username, t.firstName as firstname, t.surname, t.email, t.id')
->from('App:User\User', 't')
->where('t.roles LIKE :role')
->setParameter('role', '%"ROLE_ADMIN"%')
->getQuery()
->getResult();
我得到这个错误:
[语义错误] 第 0 行,第 99 列靠近 'roles LIKE :':错误:无效 路径表达式。必须是 StateFieldPathExpression。
你能帮忙吗?
【问题讨论】:
-
你为什么有这个
->from('App:User\User', 't')?试试->from(User::class, 't') -
您能发布您的
roles映射吗? -
$role = 'ROLE_ADMIN'; $teachers = $em->createQueryBuilder() ->select('t.username, t.firstName as firstname, t.surname, t.email, t.id') ->from('App:User\User', 't') ->where('t.roles LIKE :role') ->setParameter('role', '%'.$role .'%') ->getQuery() ->getResult();
标签: php symfony doctrine doctrine-query symfony5