2012-04-07 11 views
2

関連性のない3つの異なるテーブルからカウントを取得したい。私はこのSQLクエリを使用しています。異なるテーブルのDoctrine - countレコード

SELECT 
    (SELECT COUNT(DISTINCT id) FROM user) AS userCount, 
    (SELECT COUNT(DISTINCT id) FROM item) AS itemCount, 
    (SELECT COUNT(DISTINCT id) FROM sub_category) as categoryCount; 

上記のクエリにはDQLを使用できますか?または私はrawSQLクエリを使用する必要がありますか?私は教義1.2.4

+0

教義バージョン? – xdazz

+0

Doctrineバージョン1.2.4 –

答えて

1

を使用しています

周り掘り後、私は自分で解決策を見つけました。すなわち、pdo接続インスタンスを直接使用することによって実現される。

$q = Doctrine_Manager::getInstance()->getCurrentConnection(); 
$result = $q->execute(' SELECT 
    (SELECT COUNT(DISTINCT id) FROM user) AS userCount, 
    (SELECT COUNT(DISTINCT id) FROM item) AS itemCount, 
    (SELECT COUNT(DISTINCT id) FROM sub_category) as categoryCount;' 
); 
$result->fetchAll(PDO::FETCH_ASSOC); 

これは今のところ私にとっては効果がありますが、私はそれがDQLに変換することが可能かどうかまだ疑問視していました。私はDoctrineのRAW SQLのような異なる構文とアプローチを試みましたが、動作させることができませんでした。

関連する問題