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();
如何在 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();