Почему не получается получить значения после $model->load($_POST) в Yii2?

Моя форма:
<?php $form = ActiveForm::begin(['id' => 'article_form', 'class' => 'block', 'options'=>['enctype'=>'multipart/form-data'] /*'role' => 'form'*/]); ?>
          <h6 class="heading-hr"><i class="icon-upload4"></i><?=Yii::t('gallery.main', 'Загрузка фотографий в альбом')?></h6>
          
          
        <div class="form-group">
            <div class="row">
                <div class="col-md-6"><?=$form->field($model, 'images[]')->fileInput(['multiple'=>'multiple']) ?></div>
            </div>
        </div>

        <div class="form-group">
            <div class="row">
                <div class="col-md-12">
                    <?=$form->field($model, 'watermark')->checkbox(['class'=>'styled'])?>
                </div>
            </div>
        </div>
          

        <div class="form-group">
            <div class="row">
                <div class="col-md-12">
                    <?=$form->field($model, 'watermarkPosition')->radioList([1 => 'Вверху слева', 2 => 'Вверху справа', 3 => 'По центру', 4 => 'Внизу слева', 5 => 'Внизу справа'], ['itemOptions' => ['class' =>'styled']])?>
                </div>
            </div>
        </div>
          
          
          <br />
          
          <div class="text-right"> 
            <?= Html::submitButton(Yii::t('app', 'Загрузить'), ['class' => 'btn btn-success']) ?>
          </div> <br />

       <?php ActiveForm::end(); ?>


Значения в моделе:
/**
	 * @var array Массив изображений для загрузки
	 */
	public $images = [];
    
    
	/**
	 * @var bool Наличие водного знака
	 */
	public $watermark = false;


	/**
	 * @var int Позиции для наложения водного знака
	 */
	public $watermarkPosition = 5;


Далее контроллер:
$model = new Photos();
        
        if ($model->load($_POST)) {
            // инизиализируем изображения
            $images = UploadedFile::getInstances($model, 'images');
            // получаем путь к папке с изображениями 
            $dir = Yii::getAlias(Yii::$app->getModule('gallery')->photoImagesPath);
            
            echo $model->watermark;
            echo '<br/>';
            echo $model->watermarkPosition;


Проблема в том, что данные пост приходят верные, а вот при выводе
echo $model->watermark;
            echo '<br/>';
            echo $model->watermarkPosition;


нет полученных данных, показывает данные по дефолту, которые я указал в моделе, тоесть false и 5.
Подскажите пожалуйста как получить переданные данные ?
  • Вопрос задан
  • 9244 просмотра
Решения вопроса 1
blacklisss
@blacklisss
Попробуйте прописать правила валидации в модели для полей watermark и watermarkPosition
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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