0

製品とコメントの 2 つのテーブルがあります。

DQL / symfony を使用してクエリを作成しようとしています。

通常、私はそのようなことをすることができます:

// Get number of comment not visited per product
Select count (p.id) from Product p, Comment c where P.id = c.p_id and c.status = 0;

// Get number of comment read visited per product
Select count (p.id) from Product p, Comment c where P.id = c.p_id and c.status = 1;

ただし、ページネーションバンドルを使用している間、パラメーターにクエリを1つだけ渡す必要があります(フィルターバンドルも使用しているように、フィルターを適用できるようにクエリを1つだけ持つ必要があります)。

何か案が!!

4

1 に答える 1

0

ここに解決策があります: https://stackoverflow.com/a/14294335/875519

あなたのケースに合わせて、これでうまくいくはずです:

$this->getEntityManager()->createQuery('
    SELECT COUNT(p1) AS p1, COUNT(p2) AS p2
    FROM YourBundle:Product p1, YourBundle:Product p2, YourBundle:Comment c1, YourBundle:Comment c2
    WHERE p1.id = c1.p_id AND c1.status = 0
    AND p2.id = c2.p_id AND c2.status = 1
');
于 2013-08-09T20:13:12.330 に答える