1. # 实例化模型
  2. // $user = new User;
  3. // $user1 = new User();
  4. // $user2 = model('user');
  5.  
  6. // 添加一条数据
  7. # 方法1
  8. // $user1 = new User();
  9. // $user1->name = 'phpthink';
  10. // $user1->age = 89;
  11. // $user1->save();
  12.  
  13. # 方法2
  14. // $user = new User;
  15. // $user->save([
  16. // 'name' => 'thinkph111p',
  17. // 'age' => '12'
  18. // ]);
  19. # 方法3
  20. // $user = User::create([
  21. // 'name' => 'thinkph222p',
  22. // 'age' => '19'
  23. // ]);
  24. // echo $user->name;
  25.  
  26. // 过滤post数组中的非数据表字段数据
  27. // $user = new User;
  28. // $user->allowField(true)->save($request->param());
  29. // dump($request->param());
  30.  
  31. # 添加多条记录
  32. // $user = new User;
  33. // $list = [
  34. // ['name' => 'thinkphp12', 'email' => 'thinkphp@qq.com'],
  35. // ['name' => 'onethink22', 'email' => 'onethink@qq.com']
  36. // ];
  37. // $user->saveAll($list);
  38.  
  39. // 更新数据
  40. # 方法1find
  41. // $user = User::get(10);
  42. // $user->name = 'thinkphp';
  43. // $user->email = 'thinkphp@qq.com';
  44. // $user->save();
  45.  
  46. # 方法2
  47. // $user = new User;
  48. // save方法第二个参数为更新条件
  49. // $user->save([
  50. // 'name' => 'thinkphp',
  51. // 'email' => 'thinkphp@qq.com'
  52. // ], ['id' => 1]);
  53.  
  54. // $user = new User;
  55. // 过滤post数组中的非数据表字段数据
  56. // $user->allowField(true)->save($request->param(), ['id' => 1]);
  57.  
  58. # 方法3
  59. // User::where('id', 1)->update(['name' => 'thinkphp']);
  60.  
  61. // 删除数据
  62. # 方法1
  63. // 在查询后调用delete方法。返回影响的记录数
  64. // $user = User::get(1);
  65. // $user->delete();
  66.  
  67. # 方法2--直接调用静态方法(根据主键删除)
  68. // User::destroy(1);
  69. // 支持批量删除多个数据
  70. // User::destroy('1,2,3');
  71. // User::destroy([1, 2, 3]);
  72.  
  73. // 条件删除
  74. // 使用闭包删除
  75. // User::destroy(function($query){
  76. // $query->where('id','>',21);
  77. // });
  78. // 数据库类的查询条件删除
  79. // User::where('id','>',20)->delete();
  80.  
  81. // 软删除
  82. // $user = new User();
  83. // $ret = User::where('status', 1)->select();
  84.  
  85. # 查询
  1.     // 取出主键为1的数据
  2.     $user = User::get(1);
        //查询单条记录
  3. // $ret = User::where('name', 'liww')->find();
  4. # 查询多条记录(条件)
  5. // $ret = User::where('status', 1)->limit(3)->order('id', 'asc')->select();
  1.     // 根据主键获取多个数据
  2.     $list = User::all('1,2,3');
  3.     // 或者使用数组
  4.     $list = User::all([1,2,3]);
  5.     // 对数据集进行遍历操作
  6.     foreach($list as $key=>$user){
  7.      echo $user->name;
  8.     }
  1.   // 查询全部
        $ret = User::select();
      # 获取某个字段或者某个列的值
        // 获取某个用户的名字
        // $ret =User::where('id', 10)->value('name');
        // 获取某个列的所有值
        // $ret = User::where('status', 1)->column('name');
  2.  
  3.   # 动态查询
        // 根据name字段查询用户信息
        // $name = User::getByName('thinkphp');
  1.     // 根据email字段查询用户
  2.     $user = User::getByEmail('thinkphp@qq.com');
  1.  

php手记之05-tp5模型操作数据库的更多相关文章

  1. .NET使用DAO.NET实体类模型操作数据库

    一.新建项目 打开vs2017,新建一个项目,命名为orm1 二.新建数据库 打开 SqlServer数据库,新建数据库 orm1,并新建表 student . 三.新建 ADO.NET 实体数据模型 ...

  2. Qt 学习之路 2(56):使用模型操作数据库

    Qt 学习之路 2(56):使用模型操作数据库 (okgogo: skip) 豆子 2013年6月20日 Qt 学习之路 2 13条评论 前一章我们使用 SQL 语句完成了对数据库的常规操作,包括简单 ...

  3. Django中的模型(操作数据库)

    目录 Django配置连接数据库 在Django中操作数据库 原生SQL语句操作数据库 ORM模型操作数据库 增删改查 后台管理 使用后台管理数据库 模型是数据唯一而且准确的信息来源.它包含您正在储存 ...

  4. 黑马lavarel教程---5、模型操作(AR模式)

    黑马lavarel教程---5.模型操作(AR模式) 一.总结 一句话总结: AR: ActiveRecord :Active Record(活动记录),是一种领域模型模式,特点是一个模型类对应关系型 ...

  5. Django1.11模型类数据库操作

    django模型类数据库操作 数据库操作 添加数据 1,创建类对象,属性赋值添加 book= BookInfo(name='jack',pub_date='2010-1-1') book.save() ...

  6. mybatis 操作数据库(05)

    类型转换.动态排序,查询接口与mapper对应关系说明及其注意事项 一.MyBatis 自带写常见类型转换器.例如:java 类中 String 对应 mySQL中的varchar 二.自定义类型转换 ...

  7. tp5模型事件回调函数中不能使用$this

    tp5模型事件回调函数中不能使用$this,使用会报错,涉及到数据库操作使用Db类,不能使用$this->save()之类的方式 如果回调函数中需要使用类内函数,需要将函数定义为static,通 ...

  8. python操作数据库

    一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可. Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的l ...

  9. 十五、JDBC操作数据库

    1.数据库特点 实现数据共享.减少数据的冗余度.数据的独立性.数据集中控制.数据的一致性和可维护性. 2.数据库种类和功能 (1)层次型数据库:类似于树结构,是一组通过链接而互相联系在一起的记录. ( ...

随机推荐

  1. ios9 字符串与UTF-8 互相转换

    在数据网路请求或其他情况下,需要将字符串转换成UTF-8编码 ios9后对其方法进行了修改 NSString *str = @"北京"; 把这个转成UTF8以前我们使用的是 NSS ...

  2. ansible自动化部署之场景应用

    ansible自动化配置管理 官方网站: https://docs.ansible.com 一.安装 配置 启动 (ansible由红帽收购) (1)什么是ansible ansible是IT自动化配 ...

  3. CMake---基础练习2

    # t2/ CMakeLists.txt cmake_minimum_required(VERSION 2.8) #1 #PROJECT (HELLO) #SET(SRC_LIST main.c) # ...

  4. two pointers 思想

    针对有序的序列特性做出的优化思想

  5. 线性查找与二分查找(python)

    # -*- coding: utf-8 -*- number_list = [0, 1, 2, 3, 4, 5, 6, 7] def linear_search(value, iterable): f ...

  6. 【原创】改进的大马webshell,过市面上任何防护

    因为之前使用的webshell大马很多都没用了,都被安全防护拦截了,所以通过几个大牛的指点和网上的教程整理而成自己做的增强版的webshell大马,我这个是源码,部分无加密! <?php $pa ...

  7. uni-app之导航配置pages.json

    1.基础配置,各个页面都要在这里边引入. 2.基础配置,头部导航左右上脚的buttons设置. 3.如果没有权限展示底部导航的需求,可以直接在此文件配置底部导航.

  8. nginx url默认去掉index.php

  9. MySQL 新建用户并赋予权限

    创建一个用户: create user 'oukele'@'%' identified by 'oukele'; 提示下面所列出的信息的话,得刷新一下权限表 The MySQL server is r ...

  10. AtCoder Grand Contest 032 B - Balanced Neighbors——构造

    题意 B - Balanced Neighbors 给定一个整数 $N$($3\leq N \leq 100$),构造一个顶点编号为 $1...N$ 的无向图,需满足如下两个条件: 简单图且连通 存在 ...