zoukankan      html  css  js  c++  java
  • TP5 model的sql操作基本使用

    1. 首先 需要在模块model文件夹里添加与你数据表一致的类文件,不需要写什么方法

    2. 在控制器文件里建立userModel 方法,并引入model类文件,即可使用,与3.2版本不同的是,TP5有自带的操作方法直接就可以使用,不需要写太多的sql语句

      User::get(1);   查询主键 id =1 的数据信息  echo $user->mobile;   ArrayAccess 接口,可以将对象像数组一样来访问  Users::get(['mobile'=>'13554784574','email'=>'511482696@qq.com']);不根据默认主键查询

      User::getByName('123');  根据条件查询  单个查询

      User::All();  全部查询 User::All(['id'=>'1']); 根据条件全部查  

       Users::where('mobile','13554784574')->find();  也可以这样写

    更新数据

      save()方法 在查询出来的数据中进行更新 $user = User::get(1); $user->mobile   = '987654321';  $user->save()

      $users->isUpdate(false)->save();这个操作  是更新时 不更新主键值  (从百度问题上看到一些问题 在进行数据库操作时,每一次的操作都需要进行一次模型对象实例化 不然主键值也会改变,但是每次操作更新啥的操作 都要实例化一次模型类 , 那么 这个方法 确是有点鸡肋(个人看法),当然也看到一个大神给出的解决方案

    1. //假设主键为:id
    2. $affected = $model -> allowField(true) 
    3.                    -> setAttr('id',null) 
    4.                    -> isUpdate(false) 
    5.                    -> save();

    );没测试过!!

       $res['mobile'] = '123456798';  User::update($res,['user_id'=>1]);   自己定义的的更新id = 1 的数据

    插入操作

      $res['name'] = '222';

      $result  = User::create($res); 单条插入  ====  $user = new User; $user->name="123"; $user->save();可以直接使用(字段不存在时 报错)

      批量插入 

      $list = [
        ['email' => 'zh', 'mobile' => '123789'],
         ['email' => '123.com', 'mobile' => '94321'],
       ]  或者$list = array(array('name'=>'qweqwe'),array('name'=>'hfks'));

      $user->saveAll($list);

    删除操作 

      $user = Users::get(23);
      $user->delete();或者Users::destroy(23); 

      

      

      

      

      

    让每一滴智慧绘制成一条不归路!
  • 相关阅读:
    Windows Azure Cloud Service (5) 由过渡环境向生产环境过渡
    rpcss.dll丢失造成任务栏不见
    css文本省略号
    字符串是否包含中文?
    在 System.NullReferenceException 中第一次偶然出现的“ComServer.exe”类型的异常
    取参数的正则表达式
    EverNote死机的问题
    找尺子
    读书笔记
    水晶按钮的学习
  • 原文地址:https://www.cnblogs.com/JdsyJ/p/7122852.html
Copyright © 2011-2022 走看看