首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误请求(#400) -缺少所需参数: YII2中的id

错误请求(#400) -缺少所需参数: YII2中的id
EN

Stack Overflow用户
提问于 2015-02-21 18:31:51
回答 5查看 19.7K关注 0票数 5

我想使用GII工具进行CRUD操作,但是当我试图保存我的帖子时,我会得到错误消息Missing required parameters: id

岗控员:

代码语言:javascript
复制
public function actionCreate()
{
    $model = new Post();

    if ($model->load(Yii::$app->request->post())) {
        $model->post_create_time=date('Y-m-d h:m:s');
        $model->save();
        return $this->redirect(['view', 'id' => $model->id_post]);
    } else {
        return $this->render('create', [
            'model' => $model,
        ]);
    }
}

为什么我总是会犯这个错误?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-02-22 06:37:27

试一试

代码语言:javascript
复制
public function actionCreate()
{
    $model = new Post();

    if ($model->load(Yii::$app->request->post())) {
        $model->post_create_time=date('Y-m-d h:m:s');
        $model->save(false);

        return $this->redirect(['view', 'id' => $model->id_post]);
    } else {
        return $this->render('create', [
            'model' => $model,
        ]);
    }
}

确保您执行了$model->save(false),并查看它是否有效。

票数 5
EN

Stack Overflow用户

发布于 2015-02-22 01:23:41

有几件事你可以在这里试试:

  • 在使用$model->post_id之前检查它是否为null。

见下面的例子

代码语言:javascript
复制
$success=$model->save();
// if it's false, it means there was an error
var_dump($success);
exit;
  • 在使用save()之前检查它是否成功:

见下面的代码

代码语言:javascript
复制
if($model->save()){
    return $this->redirect(['view', 'id' => $model->id_post]);
}else{
    // show errors
    var_dump($model->getErrors();
    exit;
}

除此之外,我建议您也发布actionView和类Post的代码

票数 0
EN

Stack Overflow用户

发布于 2015-07-28 17:59:07

尝尝这个

代码语言:javascript
复制
public function actionCreate()
{
    $model = new Post();

    if ($model->load(Yii::$app->request->post())) {
        $model->post_create_time=date('Y-m-d h:m:s');
        if($model->save())
            return $this->redirect(['view', 'id' => $model->id_post]);
        else
            {
            return $this->render('create', [
            'model' => $mod`enter code here`el,
            ]);
        }
    } else {
        return $this->render('create', [
            'model' => $model,
        ]);
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28649630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档