Doctrine query builder как указать поля связи в выборке

388
03 февраля 2017, 07:25

Здравствуйте. Столкнулся с проблемой, как указать при выборке поля в query builder, которые являются связующими (в моём случае много ко многим)?

Сущность User

 ...
     /**
         * @ORM\ManyToMany(targetEntity="Role", inversedBy="users")
         *
         */
        protected $roles;

Сущность Role

...
     /**
         * @ORM\ManyToMany(targetEntity="User", mappedBy="roles")
         */
        private $users;

Запрос строю в репозитории сущности User так:

public function loadListOfUsers($fields = array('u')){
    $query = $this
        ->createQueryBuilder('u')
        ->select($fields);
    $users = $query->getQuery()->getResult();
    return $users;
}

В контроллере:

 public function getAction()
{
    $fields = array(
        'u.id',
        'u.username',
        'u.email',
        'u.avatar',
        'u.isActive',
        'u.roles',
    );
    $restresult = $this->getDoctrine()->getRepository('AppUserBundle:User')->loadListOfUsers($fields);
    if ($restresult === null) {
        return new View("there are no users exist", Response::HTTP_NOT_FOUND);
    }
    return $restresult;
}

Если убрать u.roles, всё ок. Но нужно получать и роли, как это можно реализовать?

READ ALSO
Мониторинг игрового сервера

Мониторинг игрового сервера

Нужен простой скрипт php скрипт для вывода информации с игрового сервера типа:

455
PHPExcel ошибка communication failure

PHPExcel ошибка communication failure

Как в phpexcel можно сослаться на определенный лист, чтобы использовать в формуле данные с него =СУММ('Part2'!P25:P29), то есть 'Part2' заменить?

366
Работа с MySQL в PHP

Работа с MySQL в PHP

Если я использую класс для работы с БД, я создаю новый объект этого класса, из которого вызываю функцию для выполнения запроса, я подключаюсь...

394
Парсинг сложных прайс-листов xls

Парсинг сложных прайс-листов xls

Товарищи, нужна помощь! Кто-нибудь сталкивался с парсингом прайс-листов в xls? Интересует сам алгоритм и некоторые нюансыХотя бы понять в какую...

421