Как сделать выпадающий список городов yii2?

Для создания выпадающего списка городов в Yii2 вам понадобится использовать элемент управления ActiveForm и модель данных. Вот подробная инструкция по созданию такого списка.

Шаг 1: Создание модели данных
Сначала создайте модель данных для городов, где будут храниться все доступные города.

class City extends yiidbActiveRecord
{
    public static function tableName()
    {
        return 'city'; // здесь указываем имя таблицы, в которой хранятся города
    }

    // здесь добавляем все необходимые атрибуты модели
    public function rules()
    {
        return [
            [['name'], 'string', 'max' => 255],
            // здесь могут быть другие правила валидации
        ];
    }
}

Шаг 2: Создание элемента управления в форме
Создайте форму и добавьте в нее элемент управления для выбора города.

// в представлении, где будет отображаться форма

use yiihelpersArrayHelper;
use yiiwidgetsActiveForm;

$form = ActiveForm::begin();

$cityList = ArrayHelper::map(City::find()->all(), 'id', 'name');

echo $form->field($model, 'city_id')->dropDownList($cityList, ['prompt' => 'Выберите город']);

ActiveForm::end();

Шаг 3: Обработка выбора города
В вашем контроллере нужно добавить логику для обработки выбранного города.

public function actionIndex()
{
    $model = new CityForm(); // здесь CityForm - это модель данных для формы

    if ($model->load(Yii::$app->request->post()) && $model->validate()) {
        // здесь вы можете делать, что вам нужно, с выбранным городом
        $selectedCityId = $model->city_id;
        $selectedCityName = City::findOne($selectedCityId)->name;

        // выполнение необходимых действий

        return $this->refresh();
    }

    return $this->render('index', [
        'model' => $model,
    ]);
}

Теперь у вас должен быть работающий выпадающий список городов в Yii2. Вы можете создать модель данных для городов и предоставить пользователю выбор из списка, а затем использовать выбранный город для дальнейших действий.