我创建了一个名为(用户)的表,它有两列。name
和 pass
. 在视图中,我创建了这样的表单。
<?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() ?>
所以我需要把这两个属性传递给控制器,以便插入到数据库中。
在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]);
}
....
}
在你的控制器中,你可以通过这种方式获得你的post form。
Yii::$app->request->post()
这样你就可以把值加载到你的模型中去了
$model->load(Yii::$app->request->post())
在这里你可以找到一个 起始点