yii2 ArrayHelper dropDownList

335
19 августа 2021, 14:50

Controller

public function actionIndex()
{
    $model = new FbToken();
    $listTokens = ArrayHelper::map(FbToken::find()->where(['user_id' => Yii::$app->user->getId()])->all(), 'token', 'name');
    return $this->render('index',[
        'model' => $model,
        'listTokens' => $listTokens,
    ]);
}

view

 <?php
            $form = ActiveForm::begin();
            echo   $form->field($model, 'token')->dropDownList($listTokens,
                ['onchange' => '$.post("'.Yii::$app->urlManager->createUrl(["site/adds"]).
                    '", 
                    {
                    token: $(this).val()
                    },
                    function( data ) {
                    $("#test_div").html( data );
                    })'
                ]);
            ActiveForm::end();
            ?>

Как сделать что бы первое в списке было Выберите значения ?

<select>
   <option>Выберите значения</option>
   <option value="1">name1</option>
   <option value="2">name2</option>
 </select>
Answer 1
$form->field($model, 'token')->dropDownList($listTokens, [
    'prompt' => 'Please select',
    'onchange' => '$.post(...)',
]);

Начиная с Yii 2.0.11:

$form->field($model, 'token')->dropDownList($listTokens, [
    'prompt' => ['text' => 'Please select', 'options' => ['value' => 'none']],
    'onchange' => '$.post(...)',
]);

Подробная информация в документации

Answer 2

В контроллере:

$listTokens = ['' => 'Выберите значения'] + ArrayHelper::map(FbToken::find()->where(['user_id' => Yii::$app->user->getId()])->all(), 'token', 'name');

остальное без изменений

READ ALSO
Regex в условиях MySQL запроса

Regex в условиях MySQL запроса

В PHP использую :

313
Imagick не читает svg

Imagick не читает svg

Почему он не читает svg?

206
аналог конструкции &ldquo;? :&rdquo; (java) на python-3.x

аналог конструкции “? :” (java) на python-3.x

в Java есть такая конструкция:

162
Почему не работает мой порт java-класса на php?

Почему не работает мой порт java-класса на php?

Есть небольшой класс на java:

394