2016-06-22 11 views
0

Wie kann ich meine SQL-Abfrage in Symfony2 Abfrage-Generator schreiben?symfony2 sql Abfrage zu queryBuilder oder 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; 

Funktioniert keine Möglichkeiten, die ich ausprobiert habe.

Antwort

0

können Sie versuchen, mit:

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

wenn Sie nur eine statische Abfrage haben.

Oder wenn Sie Benutzereingaben haben Verwendung zu überprüfen:

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

Sein OK, aber es gibt Array Assoc, nicht Array von Objekten ... – jhondoe500

+0

Ihr Recht . Wenn Sie Entitätsobjekte haben möchten, empfehle ich, diese Abfragen zu trennen und Teilabfragen durchzuführen. Sie brauchen zwar mehr Abfragen, aber ich denke, es ist der beste Weg, um es zu erledigen. – CiTNOH

+0

ok, ich verstehe jetzt, danke :) – jhondoe500