猿问

表单返回错误请求:缺少必需参数:id

我是 yii2 的新手,我想使用 yii2 basic 制作注册表单,我使用 gii 生成的 mvc,但是当我提交注册时,它返回了错误的请求,但我输入的一些数据在数据库中,但有些数据是也失踪了。这是我的用户模型:

我的 actionCreate 在用户控制器中


 public function actionCreate()

    {

        $model = new User();


        if ($model->load(Yii::$app->request->post()) && $model->save(false)) {

            return $this->redirect(['view', 'id' => $model->id]);

        }


        return $this->render('create', [

            'model' => $model,

        ]);

    }

风景


<?php


use yii\helpers\Html;


/* @var $this yii\web\View */

/* @var $model app\models\User */


$this->title = 'Create User';

$this->params['breadcrumbs'][] = ['label' => 'Users', 'url' => ['index']];

$this->params['breadcrumbs'][] = $this->title;

?>

<div class="user-create">


    <h1><?= Html::encode($this->title) ?></h1>


    <?= $this->render('_form', [

        'model' => $model,

    ]) ?>


</div>

我找不到我的代码哪里错了请帮助我


慕姐4208626
浏览 111回答 1
1回答

jeck猫

save(false)方法不会验证您的数据!这就是为什么某些数据可能不包含在数据库中的原因。考虑以下:1-您的方法的数据rules()必须与数据库匹配。(rules()在模型文件中)2- 在行动中使用以下内容:&nbsp;if ($model->load(\Yii::$app->request->post()) && $model->save()){&nbsp; &nbsp; #Code ...或者:&nbsp;if ($model->load(Yii::$app->request->post()) && $model->validate()){&nbsp; &nbsp; #Code ...&nbsp; &nbsp; &nbsp; if ($model->save(false)){&nbsp; &nbsp; #Code ...
随时随地看视频慕课网APP
我要回答