如何在视图Yii 2中从Form中获取控制器中的属性值

dbf7pr2w  于 2022-11-09  发布在  其他
关注(0)|答案(2)|浏览(176)

我创建了一个名为(users)的表,它有两列:namepass。在视图中,我创建了如下表单:

<?php
$form = ActiveForm::begin() ?>

<div class="form-group">
  <?= $form->field($model, 'user') ?>
  <?= $form->field($model, 'password') ?>
    <div class="col-lg-offset-1 col-lg-11">
        <?= Html::submitButton('Login', ['class' => 'btn btn-primary']) ?>
    </div>
</div>
<?php ActiveForm::end() ?>

所以我需要将这两个属性传递给控制器,以便插入数据库。

6vl6ewon

6vl6ewon1#

在您的控制器中. php
假设您有一个用于管理数据库中的插入的创建操作和一个用于管理用户输入的创建视图(一个仅用于显示正确结果的视图)

<?php

    namespace app\controllers;

    use Yii;
    use yii\web\Controller;
    use app\models\EntryForm;

    class YourController extends Controller
    {
        // ...existing code...

        public function actionCreate()
        {
            $model = new User();

            if ($model->load(Yii::$app->request->post()) && $model->validate()) {
                // valid data received in $model

                // 
                if( $model->save()){
                    return $this->render('create', ['model' => $model]);
                } else {
                    // this is just for debug  
                    var_dump('not inserted');
                    die();
                }

            } else {
                // either the page is initially displayed or there is some validation error
                return $this->render('view', ['model' => $model]);
            }

        // render the initial page per allow to the user input 
        return $this->render('create', ['model' => $model]);
       }  

       ....
   }
vi4fp9gy

vi4fp9gy2#

在你的控制器中,你可以通过以下方式获得你的帖子:

Yii::$app->request->post()

通过这种方式,您可以将值加载到模型中

$model->load(Yii::$app->request->post())

在这里您可以找到starting point

相关问题