如何在 yii2 ActiveDataProvider 中使用 postgres 函数 string_agg()?
Posted
技术标签:
【中文标题】如何在 yii2 ActiveDataProvider 中使用 postgres 函数 string_agg()?【英文标题】:How to use postgres function string_agg() in yii2 ActiveDataProvider? 【发布时间】:2016-08-11 10:55:27 【问题描述】:我已经在模型中尝试了以下内容。
$query = Students::find()->select("string_agg(distinct name,'|') ");
当我这样使用时,我得到了错误:
SQLSTATE[42601]:语法错误:7 错误:“FROM”处或附近的语法错误 LINE 1: SELECT string_agg(distinct name, "'|')" FROM "students..^The 正在执行的 SQL 是:SELECT string_agg(distinct name, "'|')" FROM “学生” LIMIT 20
我也尝试了同样的转义字符,那个时候它也显示了同样的错误。我如何在 yii2 中使用它?
【问题讨论】:
【参考方案1】:试试这样:
Students::find()->select(["string_agg(distinct name,'|')"])->column()
【讨论】:
如何像这样使用多列 您已经在聚合名称列,您希望在分组查询结果中看到哪些其他列,这似乎是不可能的。 你会通过这个查询得到所有不同的名字,所以我还是回答了你的问题以上是关于如何在 yii2 ActiveDataProvider 中使用 postgres 函数 string_agg()?的主要内容,如果未能解决你的问题,请参考以下文章