Doctrine / Symfony query builder добавляет выбор слева

У меня есть стол сообщений, связанных много к одному с таблицей авторов. Обе таблицы относятся к третьей таблице (нравится), которая указывает, какие пользователи понравились, какие сообщения. Я хотел бы выбрать авторов и нравится с сообщениями, но не знаю, как получить доступ к объединенным объектам после получения результатов. Мой построитель запросов выглядит следующим образом:

$result = $em->createQueryBuilder() ->select('p') ->from('Post', 'p') ->leftJoin('p.author', 'a') ->leftJoin('p.likes', 'l', 'WITH', 'l.post_id = p.id AND l.user_id = 10') ->where("p.foo = bar") ->addSelect('a AS post_author') ->addSelect('l AS post_liked') ->getQuery()->getResult(); 

В вышеприведенном случае автор всегда будет действительным, когда подобное значение может быть нулевым, если запрашивающий пользователь (пользователь 10 в примере) не взаимодействовал с сообщением. Запрос работает нормально, но я не могу получить доступ к данным для псевдонимов post_author или post_liked. Полученные данные выглядят следующим образом:

 [ [0] => Doctrine PostEntity, [1] => Doctrine PostEntity, ... ] 

Мне хотелось бы что-то похожее на это:

 [ [0] => ['post' => Doctrine PostEntity, 'post_author' => Doctrine UserEntity, 'post_liked' => Doctrine LikeEntity], [1] => ['post' => Doctrine PostEntity, 'post_author' => Doctrine UserEntity, 'post_liked' => Doctrine LikeEntity], ... ] 

Если бы я только пытался загрузить автора, было бы хорошо, потому что я мог загрузить значение автора из загруженного сообщения (Doctrine автоматически увлажняет объект с выбранными данными соединения из таблицы автора). Например:

 $post = $result[0]; $author = $post->getAuthor(); // Doctrine UserEntity 

Проблема возникает, если я пытаюсь загрузить как для текущего пользователя. Например:

 $post = $result[0]; $like = $post->getLike(); // INVALID - there's no property "like" on Post $likes = $post->getLikes(); // valid, but loads the whole collection $like = $post->post_liked; // INVALID - the SQL alias is not a valid object property 

Как получить доступ к данным, указанным в запросе?

Solutions Collecting From Web of "Doctrine / Symfony query builder добавляет выбор слева"