У меня есть проект Symfony 5 с аутентификацией по умолчанию и сущностью User
. Я читал Doctrine документацию , чтобы использовать функцию $em->createQueryBuilder()
, но получил эту ошибку:
[Семантическая ошибка] строка 0, столбец 14 рядом с 'User u WHERE ': Ошибка: класс' Пользователь 'не определен.
Мне просто нужно запросить некоторых пользователей с определенной ролью c, поэтому я написал следующий код в контроллере:
$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, я должен добавить имя пакета к from('User', 'u')
, но я не уверен насчет этой версии.
Вопрос 2: Оптимален ли этот код для такого рода запросов? Или, может быть, я слишком усложняю?