如何通过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
表格#39;用户' by user_id
答案 0 :(得分:0)
您是否在模板中尝试执行以下操作: (让我们说你从我们的控制器返回帖子)
{% for post in posts %}
{{ post.user }}
{% endfor %}
Doctrine自己加载整个东西,你应该在你的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();