フォームの値に基づいてレコードの1つのフィールドを更新しようとしました。フォームは、ビューファイル内のモーダル内に配置されます。Yii2は、ビューファイルのフォームに基づいてレコードを更新します
ビュー
Modal::begin([
'header' => '<h3>Update Payment Reference</h3>',
'toggleButton' => ['label' => 'Pay','class' => 'btn btn-success'],
]); ?>
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, 'pcpayreference')->textInput(['maxlength' => true]) ?>
<?= Html::submitButton('Update', ['class' => 'btn btn-primary']) ?>
<?php ActiveForm::end(); ?>
<?php Modal::end();
しかし、私はそれは、ユーザが入力を持っており、提出どんな更新できるように、私のコントローラにそれらの値を渡す方法は考えています。
コントローラ
public function actionPay($id)
{
$model = Purchase::findOne($id);
if ($model->load(Yii::$app->request->post()) && $model->save()) {
$model->pcstatus = 'Paid';
$model->pcpaydate = date('Y-m-d H:i:s');
$model->save();
return $this->redirect(['view', 'id' => $model->pcid]);
}
}
私はYiiのフレームワークに新たなんです。どんな助けも大歓迎です。私がやりたい
EDIT
唯一のものは、データベースにのみ、このフィールド(現在のレコード/ビュー)を更新する代わりに、フィールド全体を更新することです。
public function beforeAction($action) {
$this->enableCsrfValidation = false;
return parent::beforeAction($action);
}
私にしてみましょう
は自分のコントローラにこの機能を置く:
それはあなたのフォームが送信されますと、あなたがポストにすべてのデータを得たことを意味します/のYii :: $ APP->要求 - >ポストに動作します()、それをダンプすることができます。そうでなければ、これは定義されています。 – Jigar7521
私は何かが私のアクティブなフォームにないと思う、私は悪い要求(#400)を持っています 必要なパラメータがありません:フォームを送信するときにID。 – Etic
私の答えをチェックし、下の2番目の解決策を試してください、私に教えてください。 – Jigar7521