dtc66318 2016-04-20 03:31
浏览 29
已采纳

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

I am new to yii2, so in yii2 basic how to view and update records without id value in the url during CRUD

Code:

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条回答 默认 最新

  • dsij89625 2016-04-20 05:39
    关注

    In your view. Create an update button

    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();
    

    Then in your controller

    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条)

报告相同问题?

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么