# 实例化模型
// $user = new User;
// $user1 = new User();
// $user2 = model('user'); // 添加一条数据
# 方法1
// $user1 = new User();
// $user1->name = 'phpthink';
// $user1->age = 89;
// $user1->save(); # 方法2
// $user = new User;
// $user->save([
// 'name' => 'thinkph111p',
// 'age' => '12'
// ]);
# 方法3
// $user = User::create([
// 'name' => 'thinkph222p',
// 'age' => '19'
// ]);
// echo $user->name; // 过滤post数组中的非数据表字段数据
// $user = new User;
// $user->allowField(true)->save($request->param());
// dump($request->param()); # 添加多条记录
// $user = new User;
// $list = [
// ['name' => 'thinkphp12', 'email' => 'thinkphp@qq.com'],
// ['name' => 'onethink22', 'email' => 'onethink@qq.com']
// ];
// $user->saveAll($list); // 更新数据
# 方法1find
// $user = User::get(10);
// $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]); // $user = new User;
// 过滤post数组中的非数据表字段数据
// $user->allowField(true)->save($request->param(), ['id' => 1]); # 方法3
// User::where('id', 1)->update(['name' => 'thinkphp']); // 删除数据
# 方法1
// 在查询后调用delete方法。返回影响的记录数
// $user = User::get(1);
// $user->delete(); # 方法2--直接调用静态方法(根据主键删除)
// User::destroy(1);
// 支持批量删除多个数据
// User::destroy('1,2,3');
// User::destroy([1, 2, 3]); // 条件删除
// 使用闭包删除
// User::destroy(function($query){
// $query->where('id','>',21);
// });
// 数据库类的查询条件删除
// User::where('id','>',20)->delete(); // 软删除
// $user = new User();
// $ret = User::where('status', 1)->select(); # 查询
    // 取出主键为1的数据
    $user = User::get(1);

    //查询单条记录
// $ret = User::where('name', 'liww')->find();
# 查询多条记录(条件)
// $ret = User::where('status', 1)->limit(3)->order('id', 'asc')->select();
    // 根据主键获取多个数据
    $list = User::all('1,2,3');
    // 或者使用数组
    $list = User::all([1,2,3]);
    // 对数据集进行遍历操作
    foreach($list as $key=>$user){
     echo $user->name;
    }
  // 查询全部 
    $ret = User::select();
  # 获取某个字段或者某个列的值
    // 获取某个用户的名字
    // $ret =User::where('id', 10)->value('name');
    // 获取某个列的所有值
    // $ret = User::where('status', 1)->column('name');   # 动态查询
    // 根据name字段查询用户信息
    // $name = User::getByName('thinkphp');
    // 根据email字段查询用户
    $user = User::getByEmail('thinkphp@qq.com');
 

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. MM-自制件改外购件

    自制件改外购件 https://wenku.baidu.com/view/fbb182c6bb4cf7ec4afed081.html

  2. oracle 01741:非法的零长度标识

    转自:https://blog.csdn.net/wanderball/article/details/7690206 出现此问题是标识符里有两个连续的“”号,去掉即可,或是里面填充内容,避免两个连续 ...

  3. MySQL5.7安装、主从复制、读写分离原理解析以及详细配置

    一.Linux下mysql彻底卸载 1.查看mysql的安装情况 rpm -qa | grep -i mysql 2.删除上图安装的软件 rpm -ev mysql-community-libs--. ...

  4. Linux命令——lsb_release

    简介 LSB是Linux Standard Base(Linux标准库)的缩写, lsb_release命令 用来与具体Linux发行版相关的Linux标准库信息. 注:LSB的译法有Linux标准库 ...

  5. Write-Off

    What is a Write-Off? Write-offis an accounting term referring to an action whereby the book value of ...

  6. NodeJS开发博客(一)

    1 区分 ECMAScript/JS/NodeJs --ECMAScript.定义了语法,写JS和NodeJS都要遵守: 变量定义,循环/判断/函数: 原型和原形链/作用域和闭包/异步 不能操作DOM ...

  7. npm的安装,升级与卸载

    npm查询版本 npm -v npm安装模块 [npm install xxx]利用 npm 安装xxx模块到当前命令行所在目录: [npm install -g xxx]利用npm安装全局模块xxx ...

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

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

  9. js对iframe内外(父子)页面进行操作

    dom对象推荐阅读 怎么对iframe进行操作,1.在iframe里面控制iframe外面的js代码.2.在父框架对子iframe进行操作. 获取iframe里的内容 主要的两个API就是conten ...

  10. Python 如何理解可更改元组中的可变序列

    在 Python 中,元组是不可变序列,那为什么当元组中的元素是可变序列时(如 list.dict)可进行增删的操作? 在定义一个元组时,Python内部会为元组中的每一个元素分配一个内存地址,当我们 ...