@shanik

Как выбрать checkbox при изменении данных Yii2?

Есть форма
<?=$f->field($flora_user, 'user_id')->checkBoxList(ArrayHelper::map($user,'id','fio'))->label('Автор(ы):')?>


$floraUser = new floraUser();
$user = User::find()->all();


floraUser - это промежуточная таблица

При открытии формы на изменение данных, необходимо отметить нужные чекбуксы, которые были отмечены при добавлении.

Если делать так, то получается массив
$floraUser = $this->findModel($id)->users;
и ошибка Call to a member function isAttributeRequired() on array

findModel($id)
    {
        if (($model = Flora::findOne($id)) !== null) {
            return $model;
}


связи

public function getFloraUsers()
    {
        return $this->hasMany(FloraUser::className(), ['flora_id' => 'id']);
    }

    /**
     * @return \yii\db\ActiveQuery
     */
    public function getUsers()
    {
        return $this->hasMany(User::className(), ['id' => 'user_id'])->viaTable('flora_user', ['flora_id' => 'id']);
    }
  • Вопрос задан
  • 293 просмотра
Решения вопроса 1
@BorisKorobkov
Web developer
<?= $f->field($flora, 'users')
->checkBoxList(User::find()->select(['name', 'id'])->indexBy('id')->column())
->label('Автор(ы):') ?>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы