2016-06-22 5 views
0

Symfony2のクエリビルダーでSQLクエリを書くにはどうしたらいいですか?symfony2 sql query to queryBuilder or createQuery

(
SELECT t2.`year_defence`, 'advisor_id' AS col, t2.advisor_id AS val, COUNT(*) AS total 
FROM projects t2 
GROUP BY t2.`year_defence`, t2.advisor_id 
) 
UNION 
(
SELECT t2.`year_defence`, 'type_id' AS col, t2.type_id AS val, COUNT(*) AS total 
FROM projects t2 
GROUP BY t2.`year_defence`, t2.type_id 
) 
UNION 
(
SELECT t2.`year_defence`, 'technology_id' AS col, t2.technology_id AS val, COUNT(*) AS total 
FROM projects t2 
GROUP BY t2.`year_defence`, t2.technology_id 
) 
ORDER BY 1 , 2 , 3; 

私が試した可能性はありません。

答えて

0

あなたは使用して試すことができます:

$statement = $this->entityManager->getConnection()->executeQuery($sql); 
$result = $statement->fetchAll(); 

あなただけの静的なクエリを持っている場合。

または使用を検証するために、ユーザ入力がある場合:

$connection = $this->entityManager->getConnection(); 
$statement = $connection->prepare("SELECT myvalues FROM mytable WHERE id = :id"); 
$statement->bindValue('id', 1); 
$statement->execute(); 
$results = $statement->fetchAll(); 
+0

その[OK]を、それを試してみましたが、それは連想配列を返し、ありません。 Entityオブジェクトを使用する場合は、これらのクエリを分割して部分クエリを実行することをお勧めします。あなたはより多くのクエリが必要ですが、私はそれを行うための最良の方法だと思います。 – jhondoe500

+0

あなたの権利を私は... – CiTNOH

+0

ok、今、理解しています:) – jhondoe500