一、查询

//order支持使用数组对多个字段的排序,例如order(['order','id'=>'desc'])
//group方法只有一个参数,并且只能使用字符串。
//having方法只有一个参数,并且只能使用字符串
$map = [];
$map[] = ['u.store_id','=',0];
$map[] = ['u.reg_time','<',time()];
$map[] = ['u.user_rank','in',[0,9]]; $group = '';
$list = Db::name('users')
->alias('u')
->field('u.user_id,u.user_name,u.store_id')
->leftJoin('order_info oi','oi.user_id=u.user_id')
->where($map)
->limit(0,10)
->group($group)
->order('id', 'desc')
->select(); // 获取某个用户的积分
Db::name('users')->where('id',10)->value('score'); // 获取某个列的所有值
Db::name('users')->where('status',1)->column('name'); // 以id为索引
Db::name('users')->where('status',1)->column('name,age','id'); //获取用户数:
Db::name('users')->count(); //原生SQL查询 query方法
Db::query("select * from think_user where status=1"); //打印SQL
echo User::fetchSql()->find(1);

二、更新

Db::name('user')
->where('id', 1)
->update(['name' => 'thinkphp']); //原生sql执行修改、删除 execute方法
Db::execute("update think_user set name='thinkphp' where status=1");

三、删除

Db::name('user')
->where('id', 1)
->delete();

四、插入

//使用Db类的insert方法向数据库提交数据
$data = ['foo' => 'bar', 'bar' => 'foo'];
Db::name('user')->insert($data); //添加数据后如果需要返回新增数据的自增主键,可以使用insertGetId方法新增数据并返回主键值:
$userId = Db::name('user')->insertGetId($data); //添加多条数据
$data = [
['foo' => 'bar', 'bar' => 'foo'],
['foo' => 'bar1', 'bar' => 'foo1'],
['foo' => 'bar2', 'bar' => 'foo2']
];
Db::name('user')->insertAll($data);

五、接受参数、跳转、重定向、判断请求类型、ajax返回、显示页面

//判断请求类型
isGet isPost isAjax //接受参数
input('get.name','','htmlspecialchars'); // 获取get变量 并用htmlspecialchars函数过滤 //跳转、重定向
$this->success('新增成功', 'User/list');
$this->error('新增失败'); $this->redirect('News/category', ['cate_id' => 2], 302, ['data' => 'hello']); //ajax返回
$data = ['name' => 'thinkphp', 'status' => '1'];
return json($data); //显示页面
return view('home');
return $this->display('home');
return $this->fetch('home');

六、模板标签

1、Volist

//在模版定义如下,循环输出用户的编号和姓名:
{volist name="list" id="vo"}
{$vo.id}:{$vo.name}<br/>
{/volist} //输出循环变量:
{volist name="list" id="vo" key="k" }
{$k}.{$vo.name}
{/volist} //如果没有指定key属性的话,默认使用循环变量i,例如:
{volist name="list" id="vo" }
{$i}.{$vo.name}
{/volist} //如果要输出数组的索引,可以直接使用key变量,和循环变量不同的是,这个key是由数据本身决定,而不是循环控制的,例如:
{volist name="list" id="vo" }
{$key}.{$vo.name}
{/volist}

2、Foreach

{foreach $list as $key=>$vo }
{$vo.id}:{$vo.name}
{/foreach}

3、比较(eq或者 equal、neq 或者notequal、gt、egt、lt、elt、heq、nheq)

{eq name="name" value="value"}value{/eq}
//例如:
{eq name="name" value="value"}
相等
{else/}
不相等
{/eq}
//通常比较标签的值是一个字符串或者数字,如果需要使用变量,只需要在前面添加“$”标志: 当vo对象的属性等于$a就输出
{eq name="vo:name" value="$a"}{$vo.name}{/eq}

4、比较

//SWITCH标签
{switch 变量 }
{case value1 }输出内容1{/case}
{case value2}输出内容2{/case}
{default /}默认情况
{/switch} //使用示例:
{switch User.level}
{case 1}value1{/case}
{case 2}value2{/case}
{default /}default
{/switch} //IF标签
{if 表达式}value1
{elseif 表达式 /}value2
{else /}value3
{/if} //用法示例:
{if ( $name == 1) OR ( $name > 100) } value1
{elseif $name == 2 /}value2
{else /} value3
{/if}

5、范围(in、notin、between、notbetween)

{in name="id" value="1,2,3"}
id在范围内
{else/}
id不在范围内
{/in}

TP5快速入门的更多相关文章

  1. Web Api 入门实战 (快速入门+工具使用+不依赖IIS)

    平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html 屁话我也就不多说了,什么简介的也省了,直接简单概括+demo ...

  2. SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)

     SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=>提升,5个Demo贯彻全篇,感兴趣的玩才是真的学) 官方demo:http://www.asp.net/si ...

  3. 前端开发小白必学技能—非关系数据库又像关系数据库的MongoDB快速入门命令(2)

    今天给大家道个歉,没有及时更新MongoDB快速入门的下篇,最近有点小忙,在此向博友们致歉.下面我将简单地说一下mongdb的一些基本命令以及我们日常开发过程中的一些问题.mongodb可以为我们提供 ...

  4. 【第三篇】ASP.NET MVC快速入门之安全策略(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  5. 【番外篇】ASP.NET MVC快速入门之免费jQuery控件库(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  6. Mybatis框架 的快速入门

    MyBatis 简介 什么是 MyBatis? MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果 ...

  7. grunt快速入门

    快速入门 Grunt和 Grunt 插件是通过 npm 安装并管理的,npm是 Node.js 的包管理器. Grunt 0.4.x 必须配合Node.js >= 0.8.0版本使用.:奇数版本 ...

  8. 【第一篇】ASP.NET MVC快速入门之数据库操作(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  9. 【第四篇】ASP.NET MVC快速入门之完整示例(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

随机推荐

  1. Linux学习第六天

    学习Linux环境下的挂载命令. 什么是挂载命令? 1.Windows下,mount挂载,就是给磁盘分区提供一个盘符(C,D,E,...).比如插入U盘后系统自动分配给了它I:盘符其实就是挂载,退优盘 ...

  2. Jenkins+Ant+JMeter报告自动化

    1.参考Jenkins+Ant+JMeter集成,安装Jenkins(不需要安装Performance Plugin插件),建立Slave节点,连接Slave节点,创建任务等. 2.将Jenkins+ ...

  3. jq 导航跟随 模拟京东手机端

    想做一个导航跟随,但是代码都要下载,自己简单些了一个,css都放html里面了,所以也不用下载直接新建html,然后粘贴,点开就是导航跟随效果 效果如图 <!DOCTYPE html> & ...

  4. innobackupex备份过程(有图有真相)

    innobackupex命令构成: 1. Innobackupex内部封装了xtrabackup和mysqldump命令: 2. Xtrabackup是用来备份innoDB表的,内部实现对innoDB ...

  5. Nginx做负载均衡的几种轮询策略

    集群环境为了解决单点无法支撑高并发的情况,集群采用多台服务器提供服务,一般在集群中使用nginx 将来自客户端的请求转发给服务器端 nginx负载均衡可用提高网站的吞吐量,缓解单台服务器的压力. 一. ...

  6. Building Applications with Force.com and VisualForce(Dev401)(十七):Data Management: Data management Tools

    ev401-018:Data Management: Data management ToolsModule Objectives1.List objects exposed in the impor ...

  7. 同源策略与JSONP劫持原理

    同源策略 浏览器中有两个安全机制,一个浏览器沙盒(Sandbox),另一个就是同源策略(Same Origin Policy,简称SOP) ,下面介绍同源策略.同源是指同协议.同域名.同端口,必须三同 ...

  8. JSP+Servlet+C3P0+Mysql实现的简单新闻系统

    项目简介 项目来源于:https://gitee.com/glotion/servlet-jsp_news 本系统基于JSP+Servlet+C3P0+Mysql.涉及技术少,易于理解,适合JavaW ...

  9. Python python 函数参数:必选参数,默认参数

    import math # 函数的必选参数 '''函数的必选参数,指的是函数调用的时候必须传入的参数 ''' def cal (n): return n * n var = cal(2) '''上面的 ...

  10. CentOS6.10下安装mysql-5.7.24

    卸载原有mysql 因为mysql数据库在Linux上实在是太流行了 所以目前下载的主流Linux系统版本基本上都集成了mysql数据库在里面 我们可以通过如下命令来查看我们的操作系统上是否已经安装了 ...