在yii2尝试在CRUD期间查看和更新​​URL中没有id值的记录

时间:2016-04-20 03:31:16

标签: php yii2

我是yii2的新手,所以在yii2基本如何在CRUD期间查看和更新​​url中没有id值的记录

代码:

public function actionView($id)
{
    $model = $this->findModel($id);
    return $this->render('view', [
        'model' => $model
    ]);
}

public function actionUpdate($id)
{
    $model = $this->findModel($id);

    if ($model->load(Yii::$app->request->post()) && $model->save()) {
        return $this->redirect(['index']);
    } else {
        return $this->render('update', [
            'model' => $model,
        ]);
    }
}

2 个答案:

答案 0 :(得分:0)

在您看来。创建更新按钮

echo 
Html::beginForm(['/model/update'], 'post',['id' => 'update-form']) .
'<input type="hidden" name="id" value="'.$model->id.'">
 <a href="javascript:{}" onclick="document.getElementById(\'update-form\').submit(); 
return false;">Update</a>'. 
Html::endForm();

然后在您的控制器中

public function actionUpdate()
{
    if ( Yii::$app->request->post() ) {

        if ( isset (Yii::$app->request->post()['Model']['id']) ) {
            $id = Yii::$app->request->post()['Model']['id'];
        } else {
            $id = Yii::$app->request->post()['id'];
        }

        $model = $this->findModel($id);
    }

    if ($model->load(Yii::$app->request->post()) && $model->save()) {
        return $this->redirect(['index']);
    } else {
        return $this->render('update', [
            'model' => $model,
        ]);
    } 
}

答案 1 :(得分:0)

我们可以通过创建模态来查看和更新​​按钮来访问Url中没有id值的视图和更新页面。