我有一个postgresql查询
select to_char(date, 'YYYY-mm-dd')
from test
group by to_char(date, 'YYYY-mm-dd')
这需要翻译成php/yii
public function getDate() {
return Test::find()->alias('t')
->select('to_char(t.date 'YYYY-mm-dd')')
->groupBy('to_char(t.date 'YYYY-mm-dd')')
->asArray()
->all();
}
但它抛出了一个错误,即"t"别名不存在。当我不使用to_char时没有任何问题,所以我想PHP可能不喜欢它。我不坚持使用to_car,我只需要按天分组日期,所以如果有其他解决方案,我很高兴看到。
问题是查询构建,请参阅下面的正确查询:
return Test::find()->alias('t')
->select(['to_char(t.date, 'YYYY-mm-dd') as date'])
->groupBy(['to_char(t.date, 'YYYY-mm-dd')'])
->asArray()
->all();