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

问题描述 投票:0回答:2

我创建了一个名为(用户)的表,它有两列。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() ?>

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

php mysql yii yii2 yii2-basic-app
2个回答
0
投票

在YourController.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]);
       }  

       ....
   }

0
投票

在你的控制器中,你可以通过这种方式获得你的post form。

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

这样你就可以把值加载到你的模型中去了

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

在这里你可以找到一个 起始点

© www.soinside.com 2019 - 2024. All rights reserved.