(1)使用update()方法进行更新数据


 

一、where条件写在更新数据中

(这种情况更新的数据,必须含主键)

        $res = User::update([
            'id' => 2,
            'email' => '121@qq.com'
        ]);
        //返回修改之后model的整个对象信息
        dump($res);

二、where条件使用update()的第二个参数,传递数组

        $res = User::update([
            'email' => '123@qq.com'
        ],['id'=>2]);
        //返回修改之后model的整个对象信息
        dump($res);

三、where条件使用update()的第二个参数,传递闭包函数

       $res = User::update([
            'email' => '555@qq.com'
        ],function($query){
            $query->where(['id'=>2]);
        });
        //返回修改之后model的整个对象信息
        dump($res);

四、使用where条件

        $res = User::where('id','=',2)->update([
            'email'=>'666@qq.com'
        ]);
        //返回影响的行数
        dump($res);

(2)使用save()方法

方式一:

        $model = User::get(2);
        $model->email = '777@qq.com';
        $res = $model->save();
        //返回影响的行数
        dump($res);

方式二:

        $model = new User();
        $res2 = $model->save([
            'email' => '999@qq.com'
        ],['id'=>2]);
        //返回影响的行数
        dump($res2);

方式三:

        $model = new User();
        $res = $model->save([
            'email' => '000@qq.com'
        ],function($query){
            $query->where(['id'=>2]);
        });
        //返回影响的行数
        dump($res);

使用saveAll()方法更新多个数据:

        $model = new User();
        $res = $model->saveAll([
            ['id' => 2,'email' => '122@qq.com'],
            ['id' => 3,'email' => '123@qq.com'],
            ['id' => 4,'email' => '124@qq.com']
        ]);
        //返回数组
        dump($res);

 

相关文章:

  • 2022-12-23
  • 2021-12-25
  • 2021-11-05
  • 2022-12-23
  • 2022-12-23
  • 2021-06-17
  • 2021-12-07
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-27
  • 2022-12-23
相关资源
相似解决方案