Thinkphp5.0第三篇
批量插入数据
//新增一条数据的方法
public function add()
{
/*$user =new UserModel();
$user->id=1;
$user->name='陈国松';
$user->email='liuyun@qq.com';
$user->birthday=strtotime('1989-7-11');
if( $user->save()){
return '用户新增成功';
}else{
return '用户新增失败';
}*/
$user['name']='看云';
$user['email']='kanyun@qq.com';
$user['birthday']=strtotime('1991-6-12');
if($result=UserModel::create($user)){
return '新增成功';
} else{
return '新增失败';
}
}
//批量新增数据
public function addList(){
$user=new UserModel();
$list=[
['name'=>'张三','email'=>'zhangsan@qq.com','birthday'=>strtotime('1978-8-9')],
['name'=>'李四','email'=>'lisi@qq.com','birthday'=>strtotime('1977-8-9')],
];
if( $user->saveAll($list)){
return '批量插入成功';
}else{
return '批量插入失败';
}
}
模型操作之更新数据
查找并更新
$user=UserModel::get(1);
$user->name='陈松';
$user->email='chensong@qq.com';
$user->save();
if($user->save()){
return '成功';
}else{
return '失败';
}
直接更新数据
$user=new UserModel();
$user->save(['name'=>'刘涛','email'=>'liutao@qq.com'],['name'=>'陈国松']);
批量更新
$user =new UserModel();
$list=[
['id'=>1, 'name'=>'thinkphp', 'email'=>'thinkphp@qq.com'],
['id'=>2, 'name'=>'onethink', 'email'=>'onethink@qq.com']
] ;
$user->isUpdate()->saveAll($list);
数据库类更新数据
$user = new UserModel;
$user->where('name', '刘涛')->update(['name' => 'thinkphp']);
静态方法
UserModel::where('name','thinkphp')->update(['name'=>'陈国松','email'=>'chenguosong@qq.com','birthday'=>strtotime('1997-9-16')]);
查询
取出主键为1的数据
$user=UserModel::get(1);
dump($user);
echo $user->name.'</br>'.$user->email.'</br>';
使用数组查询
$user =UserModel::get(['name'=>'陈国松']);
echo $user->email;
实例化模型后调用查询方法
$user=new UserModel;
$result=$user->where('name','陈国松')->find();
echo $result->name;
$user =new Usermodel;
$result=$user->where('name','陈国松')->find();
echo $result->birthday;
根据主键查询多个数据
$list=UserModel::all([1,2,3]);
foreach($list as $key=>$value){
echo $value->name.'</br>';
echo $value->birthday.'</br>';
echo $value->email.'</br>';
}
$user =new UserModel;
$result=$user->where('name','陈国松')->limit(2)->order('id','desc')->select();
foreach($result as $key=>$value){
echo $value['name'].'</br>';
echo $value['email'].'</br>'; }
聚合
聚合函数的调用
$user=new UserModel;
echo $user->Count('id').'</br>';
echo $user->Max('id');
静态调用大全
User::count();
User::where('status','>',0)->count();
User::where('status',1)->avg('score');
User::max('score');
动态调用大全
$user = new User;
$user->count();
$user->where('status','>',0)->count();
$user->where('status',1)->avg('score');
$user->max('score');
Thinkphp5.0第三篇的更多相关文章
- Thinkphp5.0第四篇
删除数据 当前模型删除 $user=UserModel::get(1); if($user->delete()){return '删除成功';} else{return '删除失败';} 根据主 ...
- Thinkphp5.0第五篇
原样输出 使用literal标签防止模板标签被解析 例如 {literal} {$name}<br/> {/literal} 模板单行注释 {//注释内容} 多行注释 {/*注释内容*/} ...
- 从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)
从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://w ...
- (转) 从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)
原文地址: http://www.cnblogs.com/lyhabc/p/4682986.html 这一篇是从0开始搭建SQL Server AlwaysOn 的第三篇,这一篇才真正开始搭建Alwa ...
- RoboGuice 3.0 (三)总结篇
经过前两篇的介绍,我们了解了如何使用RoboGuice方便的为我们注入需要的对象,这篇将着重说明原理. 一.Guice与RoboGuice Guise是Google开发的一个轻量级的依赖注入框架,主要 ...
- 从0开始搭建SQL Server 2012 AlwaysOn 第三篇(安装数据,配置AlwaysOn)
这一篇是从0开始搭建SQL Server 2012 AlwaysOn 的第三篇,这一篇才真正开始搭建AlwaysOn,前两篇是为搭建AlwaysOn 做准备的 操作步骤: 1.安装SQL server ...
- (转载) 从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)
这一篇是从0开始搭建SQL Server AlwaysOn 的第三篇,这一篇才真正开始搭建AlwaysOn,前两篇是为搭建AlwaysOn 做准备的 步骤 这一篇依然使用step by step的方式 ...
- thinkphp5.0学习笔记(三)获取信息,变量,绑定参数
1.构造函数: 控制器类必须继承了\think\Controller类,才能使用: 方法_initialize 代码: <?php namespace app\lian\controller; ...
- Thinkphp5.0第二篇
查询构造器 //插入记录 $result=Db::table('think_data')->insert(['name'=>'张三','status'=>1]); //修改数据 $r ...
随机推荐
- HDU - 1392 Surround the Trees (凸包)
Surround the Trees:http://acm.hdu.edu.cn/showproblem.php?pid=1392 题意: 在给定点中找到凸包,计算这个凸包的周长. 思路: 这道题找出 ...
- CodeForces - 1118 F2 Tree Cutting
题目传送门 题解: 先注意到一定存在k种颜色,切成k个块, 然后要求每个块内的颜色都一样,所以可以发现同一种颜色一定在同一个块内,故任意2个相同颜色的最短路劲上的点的颜色都是该颜色. 我们可以先把任意 ...
- VUE中CSS样式穿透
VUE中CSS样式穿透 1. 问题由来 在做两款H5的APP项目,前期采用微信官方推荐的weui组件库.后来因呈现的效果不理想,组件不丰富,最终项目完成后全部升级采用了有赞开发的vant组件库.同时将 ...
- 基于队列queue实现的线程池
本文通过文章同步功能推送至博客园,显示排版可能会有所错误,请见谅! 写在前文:在Python中给多进程提供了进程池类,对于线程,Python2并没有直接提供线程池类(Python3中提供了线程池功能) ...
- 关于重写对象equals方法的问题
1.==和equals的区别 a.基本数据类型使用 == 进行值的比较 b.引用类型使用 == 进行比较时,直接比较的是对象的存储地址,即两个引用是否指向了同一个对象. c.equals方法是基类O ...
- Myeclipse项目工程目录中各种Libraries的含义
MyEclipse工程目录下一般会有以下几类Libraries,如图: 各种Libraries的含义如下: JRE System Library:Java SE 的常用库文件集合,构建任何Java项目 ...
- Redis 的底层数据结构(SDS和链表)
Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件.可能几乎所有的线上项目都会使用到 Redis,无论你是做缓存.或是用作消息中间件,用起来很简单方便 ...
- springboot数据库主从方案
本篇分享数据库主从方案,案例采用springboot+mysql+mybatis演示:要想在代码中做主从选择,通常需要明白什么时候切换数据源,怎么切换数据源,下面以代码示例来做阐述: 搭建测试环境(1 ...
- Windows7版本了解
1.win7简介Windows7是微软软件公司研发的标准版本,也就是所说的正版安装版或原版.安装版安装用时较长,安装步骤比较复杂,但是系统运行稳定.正版系统由微软刻成光盘出售,买品牌机,或一般大一点的 ...
- Spring Boot2 系列教程(六)自定义 Spring Boot 中的 starter
我们使用 Spring Boot,基本上都是沉醉在它 Stater 的方便之中.Starter 为我们带来了众多的自动化配置,有了这些自动化配置,我们可以不费吹灰之力就能搭建一个生产级开发环境,有的小 ...