xiaochuanworld

xiaochuanworld

这家伙有点懒,还没写个性签名!

  • 财富值825
  • 威望值0
  • 总积分1025

个人信息

  • 2017-12-17 已签到
    连续签到1天,获得了5个金钱
  • 2017-12-15 已签到
    连续签到3天,获得了15个金钱
  • 回复了 的回答

    你使用的已经是
    $form->field($model, 'attribute');
    的形式了,应该清楚模型更新方式的吧。。。
    片段代码如下

            $model = $this->findModel($id);
            if($model->load(\Yii::$app->getRequest()->post())) {
                $model->name = trim($model->name);
                //... 一些自定义逻辑
                $model->save(); //保存
            }
    

    可以参考Gii 生成的 CRUD 中 update的源码

    问题又出现了,

    if(Yii::$app->request->isPost){
            $model=new Sysmenu();
            $model->scenario='editadminmenu';
            $post=Yii::$app->request->post();
            if(!empty($post)){
               return $model->editAdminMenu($post);
           }
       }
    ///接受POST数据,调用方法去修改,然后
    public function editAdminMenu($data)
    {
    	Yii::$app->response->format=Response::FORMAT_JSON;
    	$model =$this->findOne($data->id);
    	if($model->load($data)&&$model->validate()){
    		//$model->name='管理员列表';
    		$res=(bool)$model->save();
    		if($res){
    			return ["code"=>"1","msg"=>"修改成功!"];
    		}else{
    			return $this->getErrors();
    		}
    		
    	}else{
    		$this->addError('错误','验证失败!');
    		return $this->getErrors();
    	}
    }
    

    首先,$model =$this->findOne($data->id);这里获取不到ID的值,然后我强制写为$model =$this->findOne(2);
    之后提示我修改成功,可是数据没有变化~~
    请问是哪里出错了呢?

  • 回复了 的回答

    你使用的已经是
    $form->field($model, 'attribute');
    的形式了,应该清楚模型更新方式的吧。。。
    片段代码如下

            $model = $this->findModel($id);
            if($model->load(\Yii::$app->getRequest()->post())) {
                $model->name = trim($model->name);
                //... 一些自定义逻辑
                $model->save(); //保存
            }
    

    可以参考Gii 生成的 CRUD 中 update的源码

    大感谢!

  • 赞了回答

    你使用的已经是
    $form->field($model, 'attribute');
    的形式了,应该清楚模型更新方式的吧。。。
    片段代码如下

            $model = $this->findModel($id);
            if($model->load(\Yii::$app->getRequest()->post())) {
                $model->name = trim($model->name);
                //... 一些自定义逻辑
                $model->save(); //保存
            }
    

    可以参考Gii 生成的 CRUD 中 update的源码

  • 回复了 的回答

    你使用的已经是
    $form->field($model, 'attribute');
    的形式了,应该清楚模型更新方式的吧。。。
    片段代码如下

            $model = $this->findModel($id);
            if($model->load(\Yii::$app->getRequest()->post())) {
                $model->name = trim($model->name);
                //... 一些自定义逻辑
                $model->save(); //保存
            }
    

    可以参考Gii 生成的 CRUD 中 update的源码

    可是我如果表单上面,有50多个值,我就得写50多个赋值吗($model->name,$model->id,$model->pid,.............)?有没有好的一次过修改表单的方法?

  • 2017-12-14 已签到
    连续签到2天,获得了10个金钱
  • 2017-12-13 已签到
    连续签到1天,获得了5个金钱
经理 等级规则
1025/2000
资料完整度
10/100
用户活跃度
0/100

Ta的关注

2

Ta的粉丝

2

Ta的访客

12