zoukankan      html  css  js  c++  java
  • ThinkPHP5.0 模型更新操作

    1、在取出数据后,更改字段内容后更新数据

    $user = User::get(1);
    $user->name     = 'thinkphp';
    $user->email    = 'thinkphp@qq.com';
    $user->save();

    2、直接带更新条件来更新数据

    $user = new User;
    // save方法第二个参数为更新条件
    $user->save([
        'name'  => 'thinkphp',
        'email' => 'thinkphp@qq.com'
    ],['id' => 1]);

    3、过滤非数据表字段的数据

    $user = new User();
    // 过滤post数组中的非数据表字段数据
    $user->allowField(true)->save($_POST,['id' => 1]);

    4、通过外部提交赋值给模型,并且希望指定某些字段写入

    $user = new User();
    // post数组中只有name和email字段会写入
    $user->allowField(['name','email'])->save($_POST, ['id' => 1]);

    5、saveAll方法批量更新数据

    $user = new User;
    $list = [
        ['id'=>1, 'name'=>'thinkphp', 'email'=>'thinkphp@qq.com'],
        ['id'=>2, 'name'=>'onethink', 'email'=>'onethink@qq.com']
    ];
    $user->saveAll($list);

    7、通过遍历批量更新数据

    $user = new User;
    $list = [
        ['id'=>1, 'name'=>'thinkphp', 'email'=>'thinkphp@qq.com'],
        ['id'=>2, 'name'=>'onethink', 'email'=>'onethink@qq.com']
    ];
    foreach($list as $data){
        $user->data($data,true)->isUpdate(true)->save();
    }

    8、通过数据库类更新数据(两种形式)

    $user = new User;
    $user->where('id', 1)
        ->update(['name' => 'thinkphp']);
    
    
    $user = new User;
    $user->update(['id' => 1, 'name' => 'thinkphp']);

    9、静态方法直接更新数据(两种形式)

    //第一种形式
    User::where('id', 1) ->update(['name' => 'thinkphp']);
    
    //第二种形式
    User::update(['id' => 1, 'name' => 'thinkphp']);

    10、闭包函数使用更复杂的更新条件

    $user = new User;
    $user->save(['name' => 'thinkphp'],function($query){
        // 更新status值为1 并且id大于10的数据
        $query->where('status', 1)->where('id', '>', 10);
    });

    11、自动识别主键更新

    // 实例化模型
    $user = new User;
    // 显式指定更新数据操作
    $user->isUpdate(true)->save(['id' => 1, 'name' => 'thinkphp']);
  • 相关阅读:
    软件体系风格选择小结
    bert入门资料
    RNN入门和seq2seq
    推荐系统论文源码笔记——依次学习之DKN源码笔记
    Mac os下gcc编译错误解决方案
    ns3 安装方法
    angular http ajax header
    javascript 实现htmlEncode htmlDecode
    windows下的python扩展包下载地址
    php版DES
  • 原文地址:https://www.cnblogs.com/520fyl/p/7127278.html
Copyright © 2011-2022 走看看