2014-11-06 34 views
0

如何通過symfony兩張表選擇數據。例如,有一個帖子表,它是一個字段user_id(創建帖子的用戶),我選擇所有帖子並傳遞給模板。該模板必須顯示來自表用戶的用戶數據(針對user_id上的每個帖子),因爲這可以完成?在symfony中加入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())); 
    } 

我想通過USER_ID

回答

0

你嘗試讓表「用戶」的path列,在您的模板,要做: (假設你從我們的控制器返回帖子)

{% 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

沒有,用戶試試這個缺少的職位。我沒有加入,我不知道該怎麼做 – engilexial 2014-11-06 09:02:35

+0

我添加了一個如何加入的例子。你也可以根據你的需要離開 – oligan 2014-11-06 09:06:09