php手记之05-tp5模型操作数据库
# 实例化模型
// $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模型操作数据库的更多相关文章
- .NET使用DAO.NET实体类模型操作数据库
一.新建项目 打开vs2017,新建一个项目,命名为orm1 二.新建数据库 打开 SqlServer数据库,新建数据库 orm1,并新建表 student . 三.新建 ADO.NET 实体数据模型 ...
- Qt 学习之路 2(56):使用模型操作数据库
Qt 学习之路 2(56):使用模型操作数据库 (okgogo: skip) 豆子 2013年6月20日 Qt 学习之路 2 13条评论 前一章我们使用 SQL 语句完成了对数据库的常规操作,包括简单 ...
- Django中的模型(操作数据库)
目录 Django配置连接数据库 在Django中操作数据库 原生SQL语句操作数据库 ORM模型操作数据库 增删改查 后台管理 使用后台管理数据库 模型是数据唯一而且准确的信息来源.它包含您正在储存 ...
- 黑马lavarel教程---5、模型操作(AR模式)
黑马lavarel教程---5.模型操作(AR模式) 一.总结 一句话总结: AR: ActiveRecord :Active Record(活动记录),是一种领域模型模式,特点是一个模型类对应关系型 ...
- Django1.11模型类数据库操作
django模型类数据库操作 数据库操作 添加数据 1,创建类对象,属性赋值添加 book= BookInfo(name='jack',pub_date='2010-1-1') book.save() ...
- mybatis 操作数据库(05)
类型转换.动态排序,查询接口与mapper对应关系说明及其注意事项 一.MyBatis 自带写常见类型转换器.例如:java 类中 String 对应 mySQL中的varchar 二.自定义类型转换 ...
- tp5模型事件回调函数中不能使用$this
tp5模型事件回调函数中不能使用$this,使用会报错,涉及到数据库操作使用Db类,不能使用$this->save()之类的方式 如果回调函数中需要使用类内函数,需要将函数定义为static,通 ...
- python操作数据库
一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可. Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的l ...
- 十五、JDBC操作数据库
1.数据库特点 实现数据共享.减少数据的冗余度.数据的独立性.数据集中控制.数据的一致性和可维护性. 2.数据库种类和功能 (1)层次型数据库:类似于树结构,是一组通过链接而互相联系在一起的记录. ( ...
随机推荐
- 阿里P7详细解答JVM性能调优之监控工具
javap 和 javac javac -verbose 类名.java java -verbose 类名 javap -c 类名 javap -verbose 类名 JAVAP -HELP 用法: ...
- 【charlse】charlse功能
(一)主界面介绍 一.工具导航栏 Charles 顶部为菜单导航栏,菜单导航栏下面为工具导航栏.视图如下图所示: 工具导航栏中提供了几种常用工具: :清除捕获到的所有请求 :红点状态说明正在捕获请 ...
- JAVA笔记整理(七),JAVA几个关键字
本篇主要总结JAVA中的super.this.final.static.break.continue 1.super super主要用在继承当中,表示调用父类的构造函数. 1.如果要在子类方法中调用父 ...
- nginx日志配置笔记:if条件
1.特定条件写日志: 参照: https://stackoverflow.com/questions/19011719/how-to-write-only-logs-with-200-status h ...
- Python将字符串转换成字典
1. ast包 import ast user_info = '{"name" : "南湖", "gender" : "male& ...
- HTML主体标签
HTML标签 在HTML结构代码中可以看到非常多的<>,这就是html的标签.整块html代码几乎就是由各种各样的标签与标签内容构成,每一个标签对应一个网页上的一个小模块,如一段文字1,一 ...
- Spring Boot配置多数据源并实现Druid自动切换
原文:https://blog.csdn.net/acquaintanceship/article/details/75350653 Spring Boot配置多数据源配置yml文件主数据源配置从数据 ...
- 循环双端链表(python)
# -*- coding: utf-8 -*- class Node(object): __slots__ = ('value', 'prev', 'next') # save memory def ...
- Factorization Machines
- 男上加男团队对 修!咻咻! 团队,云打印 团队的Beta产品测试报告
男上加男团队对 修!咻咻! 团队的Beta产品测试报告 男上加男团队对云打印 团队的Beta产品测试报告 6.2 1.57分补充 睡觉前看终于看到发布的在线版本 重新测试了一下 卡在注册这关 无法收到 ...