搜索

首页  >  问答  >  正文

thinkphp5.1 ajax更新数据出现问题,请老师指证

用AJAX提交要更新的数据后,我想知道控制器里接收的data数据都有些什么,是我表中的数据?还是说判断的数据?


   public function update(Request $request){

       $status=0;

       $id = $request->get('id');

       $data = $this->request->param();

//        dump($data);这里的data数量是什么,能看看么,用dump不行,执行不了的?

       $a=Db::name('dh')->where('id',$id)->update($data);

       if (!$a) {

           $message = '加入失败。';

       } else {

           $status = 1;

           session('admin', $a);

           $message = 'OK,加入成功!';

       }        

       return ['status' => $status, 'message' => $message];

   }


--------------------------------------------------------------------------------


圐圙圐圙2380 天前1968

全部回复(3)我来回复

  • PhpNewer

    PhpNewer2018-05-19 17:12:33

    $data是你前端通过ajax提交过来的表单的全部数据。这个是个关联数组。tp5默认是用json,你用dump输出是为了验证$data的数据吗?

    updata()这里面不是应该执行mysql的sql语句吗,怎么直接执行$data了?

    回复
    0
  • 圐圙

    圐圙2018-05-19 14:13:21

    $name= $this->request->param('name');
    $add= $this->request->param('add');
    $time= $this->request->param('update_time');
    $a = Db::name('dh')
       ->where('id',$s)
       ->data(['name' => $name,
           'add'=>$add,
           'update_time'=>$time
       ])
       ->update();

    非得叫我这样写才可以吗?如果我有很多个字段要更改呢?

    回复
    0
  • 圐圙

    那我改成上面的,不行了么?如果字段很多,是不是得一个一个的去接收,在写进去

    圐圙 · 2018-05-20 13:33:14
  • 取消回复