1

Doctrineで副選択によって返された行を数えたい。私が持っている副選択は次のとおりです。

SELECT e FROM \comments\Entities\Event e 
WHERE e.type = 'addComment'
HAVING TIMESTAMPDIFF(MINUTE, e.commentedOnPublished, e.created) < 60)

SQLでは、次の方法で目的の結果を得ることができます。

SELECT COUNT(*) FROM (
    SELECT e.* FROM square_events as e 
    WHERE e.type = 'addComment' 
    HAVING TIMESTAMPDIFF(minute, e.commentedOnPublished, e.created) < 60
) temp

Doctrineでこれをどのように達成できるか知っている人はいますか?

4

2 に答える 2

1

副選択が必要な理由がわかりません。以下は問題なく動作するはずです。

$query = $em->createQuery("
    SELECT COUNT(e.id) FROM \comments\Entities\Event e 
    WHERE e.type = 'addComment'
    HAVING TIMESTAMPDIFF(MINUTE, e.commentedOnPublished, e.created) < 60)"
);

$count = $query->getSingleScalarResult();
于 2012-05-08T20:28:36.303 に答える