我需要在DQL中使用GROUP_CONCAT
函数。
但是我还需要在PostgreSQL数据库上运行我的代码,因此我也需要实现STRING_AGG
函数。
我的问题是:
如何实现DQL
函数(如JOIN_STR(expr ',')
),使其在GROUP_CONCAT
上MySQL
并在STRING_AGG
上PostgreSQL
中呈现?
换句话说:从Platform
内部确定当前FunctionNode
的正确方法是什么?
答案 0 :(得分:0)
嗯,我是通过SqlWalker::getConnection
找到的:
public function getSql(SqlWalker $sqlWalker)
{
$platform = $sqlWalker->getConnection()->getDatabasePlatform();
switch ($platform->getName()) {
case 'mysql': //...
}
// ...
}