zoukankan      html  css  js  c++  java
  • 【TP5.0】model的操作方法

    tp5 中 model 的新增方法

     
    //默认主键为自动识别,如果需要指定,可以设置属性:
    
    namespace appindexmodel;
    
    use thinkModel;
    
    class User extends Model
    {
        protected $pk = 'uid';
        // 设置当前模型对应的完整数据表名称
        protected $table = 'think_user';
    
    }
    复制代码

    使用助手函数model()快速实例化模型(推荐)

    复制代码
     public function save(){
            $user = model('User');  // 使用model 即可快速实例化模型,不必使用 $user = new User();
            $list = [
                ['name'=>'thinkphp','email'=>'thinkphp@qq.com']
            ];
            $user->saveAll($list);
        }
    复制代码

     save()方法添加单条数据

    复制代码
    //使用data方法批量添加数据:
    namespace appindexcontroller;
    use thinkController;
    use thinkRequest;
    use appindexmodelUser as UserModel;
    public function save(){ $user = new UserModel; $user->data([ 'name' => 'thinkphp', 'email' => 'thinkphp@qq.com' ]); $count = $user->save();  
    dump($count)  // save方法新增数据返回的是写入的记录数
    }

    复制代码
    复制代码
    // 使用allowField过滤非数据表字段
    public function save(Request $request){
            $user = new UserModel();
            // $_POST过来的数据中包含数据表中没有的字段
            $user->data($request->param());    // 或者$_POST
           // 只会保存数据表中有的字段
            $user->allowField(true)->save();
        }    
    复制代码
    复制代码
    // 希望某些指定字段写入
        public function save(Request $request){
            $user = new UserModel();
            $user->data($request->param());   
            // 只写入name字段和email字段的值
            $count = $user->allowField(['name','email'])->save();
            dump($count);die;
        }
    复制代码
    复制代码
    // 获取自增id
        public function save(Request $request){
            $user = new UserModel();
            $user->data($request->param());   
            $user->allowField(true)->save();
            echo $user -> id;    // 输出当前插入数据的主键
        }
    复制代码
    复制代码
       //如果同一个实例里面多次新增数据,必须使用isUpdate(false)
     public function save(Request $request){
            $user = new UserModel();
            $user->data($request->param());
            $user->allowField(['name'])->save();    // 插入第一条数据
            $user->name='thinkphp';
            $user->email='thinkphp@qq.com';
            $user->allowField(['email'])->isUpdate(false)->save(); // 再次插入一条数据
        }
    复制代码

     saveAll()方法添加多条数据

    复制代码
    // saveAll()同时添加多条数据
        public function save(Request $request){
            $user = new UserModel();
            $list = [
                ['name'=>'thinkphp','email'=>'thinkphp@qq.com'],
                ['name'=>'chrdai','email'=>'chrdai@qq.com']
            ];
           $user->saveAll($list);
        }
    复制代码
    复制代码
    // saveAll()方法中若数据中带有主键,则为更新操作,若不带主键则为插入操作
        public function save(Request $request){
            $user = new UserModel();
            $list = [    // 此处的两条数据将执行更新操作
                ['id'=>1,'name'=>'thinkphp_update','email'=>'thinkphp@qq.com'],
                ['id'=>2,'name'=>'chrdai_update','email'=>'chrdai@qq.com']
            ];
           $user->saveAll($list);
        }
    复制代码

    静态调用create方法创建并写入

    复制代码
    // 使用create方法可以直接将数据插入到数据库
     public function save(Request $request){
            $user = UserModel::create([
                'name'=>'thinkphp',    // 此处的字段必须是数据表中存在的
                'email'=>'thinkphp@qq.com'
            ]);
            echo $user->id; // 获取当前插入数据的id
        }
    复制代码
  • 相关阅读:
    Aoj 418 ACM 排名
    HDU 3308 LCIS
    HDU 1540 Tunnel Warfare
    HDU 4417 Super Mario
    HDU 1754 I hate it
    HDU 1166 敌兵布阵
    Codeforces 1257D Yet Another Monster Killing Problem
    Codeforces 1257D Yet Another Monster Killing Problem
    CCF CSP 201709-4 通信网络
    CCF CSP 201709-4 通信网络
  • 原文地址:https://www.cnblogs.com/xuzhengzong/p/9363965.html
Copyright © 2011-2022 走看看