yii2 – функция загрузки модели не устанавливает некоторые атрибуты модели

Я работаю над приложением PHP Yii2. У меня есть странная проблема с функцией yii2 yii yii\base\Model.load . Вот моя проблема:

У меня есть модель формы под названием PaymentIncreaseBalanceForm как PaymentIncreaseBalanceForm ниже:

 class PaymentIncreaseBalanceForm extends yii\base\Model { public $amount; public $receiptNumber; public $description; ... } 

Вот часть моего файла вида:

 <?= $form->field($model, 'amount')->textInput(['maxlength' => true]) ?> <?= $form->field($model, 'receiptNumber')->textInput(['maxlength' => true]) ?> <?= $form->field($model, 'description')->textarea(['rows' => 6]) ?> 

И это мое действие контроллера:

  public function actionIncreaseBalance() { $modelForm = new PaymentIncreaseBalanceForm(); if ($modelForm->load(Yii::$app->request->post())) { //some logic } return $this->render('increase-balance', [ 'model' => $modelForm, ]); } 

После отправки формы я зарегистрировал Yii::$app->request->post() с die() и все три параметра amount , receiptNumber , description существуют в сообщении с их правильными значениями (все правильно). Но после вызова функции $modelForm->load это мои атрибуты модели:

 $amount => 1000, $receiptNumber => 887412141, $description => NULL, 

$description всегда равно NULL! Я не знаю, в чем проблема с этим полем. Есть ли проблемы с моим кодом?

Вероятно, в вашем коде не добавлено правило для атрибута description .

Проверьте метод rules() чтобы подтвердить его.

По умолчанию метод load() применяет только «безопасные» значения к атрибутам, а значение считается «безопасным», если в текущем сценарии есть правило.

Удалить $ sign из описания <?= $form->field($model, 'description')->textarea(['rows' => 6]) ?> В файле вида

Подобные проблемы часто могут быть вызваны «безопасными атрибутами» (как говорят Bizley).

В сложных случаях со многими правилами и сценариями вы можете проверить текущие безопасные атрибуты с помощью Model :: safeAttributes . Выполните его непосредственно перед загрузкой данных.