• Как сделать выборку уникальных значений через ActiveRecord в Yii2?

    Isolution666
    @Isolution666
    Full-Stack Developer
    Я не стал изобретать велосипед. Оказалось, что вывести список записей через цикл на столько просто и легко и элементарно)) Повторяющиеся записи исчезают, остаётся список только уникальных записей!

    Просто в экшене контроллера напиши:

    public function actionPage(){
            $select = City::find()->select(['obl'])->distinct()->all();
            return $this->render('page', ['select' => $select,]);
        }



    Немного поясню City это модель, которая обращается к некой таблице в БД
    obl - название столбца в таблице, записи которого хотите вывести


    Топорный пример вывода списка записей через select:

    <select class="form-control">
                        <?php foreach ($select as $m) { ?>
                            <option value="<?=$m->obl;?>"><?=$m->obl;?></option>
                        <?php } ?>
                    </select>


    Испытано лично, работает! Подсчёт уникальных записей, это:
    ->count();

    --

    $select = City::find()->select(['obl'])->distinct()->count();

    --
    <p>У вас всего <?=$select;?> уникальных записей</p>

    В документации Yii взял, там и черпаю знания, кому помог? )) Был рад стать полезен. Успехов!
    Ответ написан
    5 комментариев