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

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

clipboard.png
这条数据需要被修改

假设这条数据还有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

阅读 2.3k
1 个回答
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(); ?>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏