Присоединиться по user_id в Symfony

0

Как выбрать данные по 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

Теги:
doctrine2

1 ответ

0

Попробовали ли вы в своем шаблоне сделать: (скажем, вы возвращаете сообщения с нашего контроллера)

{% 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(); 
  • 0
    нет, пользователь $ сообщений отсутствует. Я не сделал присоединиться, я не знаю, как это сделать
  • 0
    я добавил пример того, как сделать соединение. Вы также можете присоединиться, в соответствии с вашими потребностями

Ещё вопросы

Сообщество Overcoder
Наверх
Меню