私はPHP Yii2アプリケーションを開発中です。私はyii2 yii\base\Model.load
機能に奇妙な問題があります。私は、フォームモデルは以下のようPaymentIncreaseBalanceForm
と呼ばれているyii2 - モデルの読み込み機能が一部のモデル属性を設定していません
:ここに私の問題がある。ここ
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()
とすべての3つのパラメータamount
、receiptNumber
、description
が正しい値(すべてのものが正しい)でポストに存在します。しかし$modelForm->load
関数を呼び出した後、これは私のモデルの属性です:
$amount => 1000,
$receiptNumber => 887412141,
$description => NULL,
$description
は常にNULLです!この分野で何が問題なのか分かりません。私のコードに問題はありますか?ビューファイルの記述<?= $form->field($model, 'description')->textarea(['rows' => 6]) ?>
から
ありがとうございます。私の問題を解決するために 'safe'を追加しました。 – hamed
'' 'rules()' ''で指定できるバリデータの意味を知るにはhttp://www.yiiframework.com/doc-2.0/guide-tutorial-core-validators.htmlを参照してください。 "安全"はあなたの説明のために "string"を使用している可能性がある特別なバリデータです(検証することさえできません) – MacGyer
あなたはcheckout [この質問をしてください](http://stackoverflow.com/questions/42591365/yii2-model-load -does-not-work-as-expected) – SaidbakR