Я попытался сделать выпадение из моей базы данных postgres, и база данных выглядит так
| id_provinsi | id_waktu | id_kbli |
| 1000 | 12007 | A |
| 1000 | 12007 | A1 |
| 1000 | 12007 | A2 |
| 1000 | 12008 | A |
| 1000 | 12008 | A1 |
| 1000 | 12008 | A2 |
| 1100 | 12007 | A |
| 1100 | 12007 | A1 |
| 1100 | 12007 | A2 |
| 1100 | 12008 | A |
| 1100 | 12008 | A1 |
| 1100 | 12008 | A2 |
и я хочу получить выпадающий список, который показывает id_waktu
как это
| 12007 |
| 12008 |
Мой код:
$pdrb=PdrbProv::find()->groupBy('id_waktu')->all();
$listData=ArrayHelper::map($pdrb,'id_provinsi','id_waktu');
echo $form->field($model, 'id_waktu')->dropDownList(
$listData,
['prompt'=>'Select...']
);
но я получаю следующую ошибку:
QLSTATE[42803]: Grouping error: 7 ERROR: column "pdrb_prov.id_provinsi" must appear in the GROUP BY clause or be used in an aggregate function
LINE 1: SELECT * FROM "pdrb_prov" GROUP BY "id_waktu"
^
The SQL being executed was: SELECT * FROM "pdrb_prov" GROUP BY "id_waktu"
Что я должен делать? Кто-нибудь может помочь? Спасибо