symfony2 sql 查询到 queryBuilder 或 createQuery

symfony2 sql query to queryBuilder or createQuery

如何在 Symfony2 的查询构建器中编写我的 SQL 查询?

(
 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;

我试过的任何可能性都不起作用。

你的意思是这样的:http://doctrine-orm.readthedocs.io/projects/doctrine-orm/en/latest/reference/native-sql.html ?

您可以尝试使用:

$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();