2013-02-01 61 views
0

我有id(經典)鏈接到表category一個基本的表格article,我想提出一個理論請求來檢索只有5按類別製品(所有種類)Symfony2中,QueryBuilder的學說要求

這請還給我類別中的所有文章,我只是想5每個

public function getArticlesAndCategs(){ 
    $qb = $this->createQueryBuilder('c') 
      ->orderBy('c.id','DESC') 
       ->leftJoin('c.articles', 'a') 
       ->addSelect('a') 
       ->addOrderBy('a.id','DESC') 
      ->getQuery(); 
    return $qb->execute();     
} 

你能幫我是什麼? 謝謝

+0

http://sqlfiddle.com/#!2/075e1/5 –

+0

不用了,謝謝!我知道如何做簡單的SQL,但我想要一個學說querybuilder請求。 – rudak

+0

http://symfony.com/doc/current/book/doctrine.html#joining-to-related-records –

回答

2

不幸的是,這並非易事。至少我還沒有找到一個令人滿意的解決方案(對我而言);)。

三件事情可以做:

  1. 迭代通過分類和檢索5個員額爲每個類別。這當然會導致很多數據庫請求中有許多類別。

  2. 返回所有加入帖子的類別,並在PHP中迭代。缺點 - 你會返回所有的帖子,所以如果你有很多,這可能意味着很多使用的內存。

  3. 如果你沒有堅持原則,你可以在這裏嘗試的解決方案:mySQL Returning the top 5 of each category