нередактируемое единственное значение в select2

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
svil
Сообщения: 563
Зарегистрирован: 2018.02.12, 22:41

нередактируемое единственное значение в select2

Сообщение svil »

Как в $data select2 подставить одно значение по course_id модели?

Контроллер

Код: Выделить всё

 public function actionCreate($course_id)
    {
        $item='file';
        $this->view->params['news'] = $item;

        $model = new Categories();
        $course_id =  Yii::$app->request->get('course_id');
        $data_ = Courses::find()->all(); 
       // $data_ = Courses::findOne(['id'=> $course_id]); //выдает ошибку
        //$data_ = Courses::find(['id' => $course_id])->one(); //выдает ошибку
        foreach ($data_ as $value) {
            $data[$value->id]=$value->name;
        }
        if ($model->load(Yii::$app->request->post()) && $model->save()) {
            return $this->redirect(['view', 'id' => $model->id]);
        }

        return $this->render('create', [
            'model' => $model,
            'course_id' => $course_id,
            'data' => $data
        ]);
    }
Вид

Код: Выделить всё

    <?php $form = ActiveForm::begin(); ?>

<?= $form->field($model, 'course_id')->widget(Select2::classname(), [
        'data' => $data,
        'language' => 'ru',
        'options' => ['placeholder' => 'Выбор курса ...'],
        'pluginOptions' => [
            'allowClear' => true
        ],
    ]);
//debug($data);
    ?>
Аватара пользователя
svil
Сообщения: 563
Зарегистрирован: 2018.02.12, 22:41

Re: нередактируемое единственное значение в select2

Сообщение svil »

Сделала методом тыка так :cry:

Код: Выделить всё

  <?php
    $authors = \app\models\Courses::findOne(['id' => Yii::$app->request->get('course_id')]);
    ?>
    <?php $form = ActiveForm::begin(); ?>

<?= $form->field($model, 'course_id')->widget(Select2::classname(), [
        'data' => [$authors->name],
        'readonly' => true,
        'language' => 'ru',
        'pluginOptions' => [
            'allowClear' => true
        ],
    ]);
    ?>
Ответить