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)层次型数据库:类似于树结构,是一组通过链接而互相联系在一起的记录. ( ...
随机推荐
- arm-none-eabi/bin/ld: build/com.zubax.gnss.elf section `.text' will not fit in region `flash'
出现如下错误: /arm-none-eabi/bin/ld: build/com.zubax.gnss.elf section `.text' will not fit in region `flas ...
- 关于#error
很简单的一个东西,但是感觉使用价值没有太大.实现了以下,结果如下: 执行到#error语句的时候直接停止编译,在下面输出设定好的错误信息. 来自为知笔记(Wiz)
- NumPy 百题大冲关,冲鸭!
角色名称:NumPy 角色描述:NumPy是一个NASA都在用的扩展库. NumPy提供了许多高级的数值编程技能,如:矩阵数据类型.矢量处理,以及精密的运算库.专为进行严格的数字处理而战斗.是很多大型 ...
- Linux文件系统概览
三 Linux文件系统概览 3.1 Linux文件系统简介 在Linux操作系统中,所有被操作系统管理的资源,例如网络接口卡.磁盘驱动器.打印机.输入输出设备.普通文件或是目录都被看作是一个文件. 也 ...
- PAT基础级-钻石段位样卷2-7-3 大笨钟 (10 分)
微博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉.不过由于笨钟自己作息也不是很规律,所以敲钟并不定时.一般敲钟的点数是根据敲钟时间而定的,如果正好在某个整点敲,那么“当”数就等于那 ...
- python定义函数时的参数&调用函数时的传参
一.定义函数: 1.位置参数:直接定义参数 2.默认参数(或者关键字参数):参数名 = "默认值" 3.位置参数必须在默认参数之前 二.调用函数: 1.按位置传,直接写参数的值 2 ...
- location对象方法(assign()、reload()、replace())
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Linux文件权限符号说明
为了控制权限,Linux首先对于将操作的用户分为:用户.用户组和其他,这三个概念. 每个文件都会属于某个用户,而一个用户可以属于多个用户组,而不属于该用户组的用户,则属于其他.因此,每个文件的操作权限 ...
- LOJ P10150 括号配对 题解
Analysis 区间dp裸题 初始化有点麻烦 i,j能匹配时要特判 #include<iostream> #include<cstdio> #include<cstri ...
- springboot与jdk1.6结合使用需要注意的地方
问题描述:官方文档,默认Spring boot 1.3.5 要求 Java7版本,而当前项目要求 Java6,而且在idea工具中创建项目时,如果采用选项“Spring Initializr”来创建工 ...