Symfony2/Doctrine: select() и getResults() не работают с getManager()

У меня есть эта проблема... Когда я пытаюсь использовать getEntityManager(), говорят, что он устарел. Кажется, его нельзя использовать в более новых версиях Symfony2.

Теперь, когда я использую getManager(), говорят, что select() и getQuery() не могут быть найдены в классе. Любые идеи, как управлять этим? Кстати, я работаю в контроллере.

$em = $this->getDoctrine()->getManager();
$queryBuilder = $em->createQueryBuilder();

$queryBuilder->select('Project')
    ->from('ProjectProjectBundle:Profiles', 'Project')
    ->where('Project.email', $data['email']);

$profile = $queryBuilder->getQuery()->getResult();

person Ignas Damunskis    schedule 20.09.2014    source источник


Ответы (1)


Я думаю, что лучше всего использовать репозиторий вместо настройки queryBuilder.

Проверьте что-то вроде этого:

$em = $this->getDoctrine()->getManager();
$project_repo = $em->getRepository('ProjectProjectBundle:Profiles');

$profile = $project_repo->createQueryBuilder('project')
        ->where('project.email = :email')
        ->setParameter('email', $data['email'])            
        ->getQuery()->getResult();
person Bactisme    schedule 20.09.2014