Как выбрать данные по symfony для двух таблиц. Например, есть стол сообщений, это поле user_id (пользователь, создавший сообщение), я выбираю все сообщения и передаются в шаблон. Шаблон должен отображать пользовательские данные от пользователей таблицы (для каждого сообщения на вашем user_id), как это можно сделать?
Я прочитал документацию, но на самом деле не понял
Мой запрос сейчас:
public function indexAction()
{
$posts = $this->getDoctrine()
->getRepository('AcmePostBundle:Post');
$queryPosts = $posts->createQueryBuilder('p')
->orderBy('p.id', 'DESC')
->getQuery();
return new Response(var_dump($queryPosts->getResult()));
}
Я хочу получить столбец path
таблицы "пользователей" по user_id
Попробовали ли вы в своем шаблоне сделать: (скажем, вы возвращаете сообщения с нашего контроллера)
{% for post in posts %}
{{ post.user }}
{% endfor %}
Доктрина загружает все это сама по себе, вы должны увидеть, что в вашем var_dump
Попробуйте это в своем репозитории
public function myInnerJoin()
{
$qb = $this->createQueryBuilder('f')
->select('f','g')
->innerJoin('f.user', 'g');
return $qb->getQuery()->getArrayResult();
}
и в контроллере
$repository = $this->getDoctrine()->getManager()->getRepository('AcmeBundle:..');
$result = $repository->myInnerJoin();