Yii2 如何从数据库中列出没有重复值的下拉列表选项值?

Yii2 How to list out dropdownlist option values from database without duplicate values?

对于类别 dropdowList,我从数据库中生成值,因为 main_cat 列有两次电子值,在下拉列表中也重复两次,如何只显示一次?

+--------+-------------+---------+
| cat_id | main_cat    | sub_cat |
+--------+-------------+---------+
| 1      | Electronics | Phones  |
+--------+-------------+---------+
| 2      | Electronics | TVs     |
+--------+-------------+---------+
| 3      | Furniture   | Sofa    |
+--------+-------------+---------+

我试过下面的代码,但它重复下拉列表中的电子设备 distinct() 不工作。

<?= $form->field($model, 'ad_cat_id',
            'template' => '<label class="col-sm-3 control-label">Category</label><div class="col-sm-9">{input}{error}</div>',
 ])->dropDownList(
         ArrayHelper::map(Categories::find()->distinct()->all(), 'cat_id', 'main_cat'),
           [
           prompt' => 'Please select main category',

 ]) ?>

如何在 select main_cat 列中不重复相同的值?

用作

Categories::find()->groupBy('main_cat')->all();