yii2 - 召神 yii的表单怎么写的!!!别踩我 TAT

查看:79
本文介绍了yii2 - 召神 yii的表单怎么写的!!!别踩我 TAT的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

是这样以前用TP的 现在手上有个yii2程序 要改一个地方 是修改数据的 呃就是这样.
-----------------分割线---------------------
现在我点击了一个按钮这个按钮通过get方式向actionEdit发出了一个id=45的请求


这条数据需要被修改

假设这条数据还有name字段 和password(明文没加密)字段

我要如何把通过id=45找到这条数据然后渲染到from表单中

下面是我的控制器代码

    public function actionEdit()
    {

        $request = \YII::$app->request;
        if($request->post()){
            
        }else{
            $id = $request->get('id');
            $result = Ppp::find()->where(['id' => "$id"])->asArray()->one();
//            print_r($result);
            return $this->render('_form',$result);
        }
    }

视图代码

<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;
use yii\helpers\ArrayHelper;
?>
<?php $form = ActiveForm::begin(); ?>




<?php ActiveForm::end(); ?>

我自己折腾有一会(我不会说我看了1天文档)各种看文档然后跑这里来找前辈指教

最终要的效果就是我点击了修改按钮后对actionEdit发送了一个get请求
然后我就得到了一个表单页面
表单本生的值不是空的
渲染查询出的数据

然后修改名字 密码 点击提交actionEdit收到post修改数据完成

然后就剩下代码没写出来ORZ

解决方案

public function actionEdit($id)
    {
            $result = Ppp::findOne($id);
            if(empty($result)){
                throw new Exception('404 Not Found');
            }
        $request = \Yii::$app->request;
        if($request->isPost){
            $result->load(\Yii::$app->request->getBodyParams());
            if($result->validate() && $result->save()){
                echo '保存成功';
            }else{
                echo '保存失败';
            }
            \Yii::$app->end();
        }else{
            return $this->render('_form',[
                'model'=>$result
            ]);
        }
    }

<?php $form = ActiveForm::begin(['id' => 'login-form']); ?>
   <?= $form->field($model, 'username') ?>
   <?= $form->field($model, 'password')->passwordInput() ?>
   <div class="form-group">
         <?= Html::submitButton('Login', ['class' => 'btn btn-primary', 'name' => 'login-button']) ?>
   </div>
<?php ActiveForm::end(); ?>

这篇关于yii2 - 召神 yii的表单怎么写的!!!别踩我 TAT的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆