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 ...
随机推荐
- Navicat for mysql建立连接
1. 安装Navicat for MySQL. 2. 点击连接->MySQL,打开SSH,填写主机名.端口.用户名.密码. 3. 连接->打开常规,设置连接名(可以自由指定).主机名.端口 ...
- B-Quadratic equation_2019牛客暑期多校训练营(第九场)
题意 解下列方程 \((x+y) \equiv b \ mod \ p\) \((x\ *\ y) \equiv c \ mod \ p\) 题解 \(y = b-x\) 带入二式 \(x * (b- ...
- CodeForces 340E Iahub and Permutations 错排dp
Iahub and Permutations 题解: 令 cnt1 为可以没有限制位的填充数字个数. 令 cnt2 为有限制位的填充数字个数. 那么:对于cnt1来说, 他的值是cnt1! 然后我们对 ...
- codeforces 459 C. Pashmak and Buses(思维)
题目链接:http://codeforces.com/problemset/problem/459/C 题意:有n个人,k辆车,d天要求没有两个人在d天都坐在一起.输出坐的方法. 题解:这题很有意思, ...
- Java代理设计模式(Proxy)的几种具体实现
Proxy是一种结构设计模型,主要解决对象直接访问带来的问题,代理又分为静态代理和动态代理(JDK代理.CGLIB代理. 静态代理:又程序创建的代理类,或者特定的工具类,在平时开发中经常用到这种代理模 ...
- 【Offer】[7] 【重建二叉树】
题目描述 思路分析 Java代码 代码链接 题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1,2,4, ...
- 在Linux上安装nginx时遇到的问题,真的好坑啊!!!!
解决了两个小时愣是卡着没动,结果一请大神问题就迎刃而解,怪自己太粗心,一下午差点就被这个问题安排的明明白白,直接上问题: makeFile时的问题: checking for OS + Linux ...
- Python(Head First)学习笔记:五
5 推导数据:处理数据.格式.编码.解码.排序 处理数据:从Head First Python 上下载资源文件,即:james.txt,julie.txt,mikey.txt,sarah.txt. 实 ...
- kubernetes集群部署高可用Postgresql的Stolon方案
目录 前言 ....前言 本文选用Stolon的方式搭建Postgresql高可用方案,主要为Harbor提供高可用数据库,Harbor搭建可查看kubernetes搭建Harbor无坑及Harbor ...
- 【linux】【NodeJs】Centos7安装node-v10.16.3环境
前言 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效. https://node ...