Symfony Doctrine DQL не может найти createQuery в менеджере сущностей
Я изучаю веб-разработку с Symfony уже некоторое время. Я следовал учебному руководству на веб-сайте Symfony и учебному пособию по Doctrine и пытался использовать диспетчер сущностей в Doctrine ORM для создания запросов, но автозаполнение PhpStorm говорит мне, что он не может найти createquery()
, (см. скриншот ниже)
2 ответа
Согласно вашему скриншоту (getRepository, flush, persist...) есть методы $ this-> getDoctrine () -> getManager (), которые вы можете найти в любом классе контроллера Symfony:
То, что вы хотите использовать, это $this->getEntityManager()->createQuery(), который вы можете найти в классе репозитория symfony:
Поэтому правильный способ сделать это - создать репозиторий и добавить в него свой метод, а затем использовать этот метод внутри вашего контроллера:
class UserController extends Controller
{
/**
* @Route("/", name="user_list")
*/
public function indexAction()
{
$em = $this->getDoctrine()->getManager();
$userrs = $em->getRepository("AppBundle:User")->myRepositoryMethod();
...
Вы уверены, что включили следующее заявление об использовании
use Doctrine\ORM\EntityManager