Thinkphp中的连贯操作
2016-08-01 08:06
267 查看
一般而言,连贯操作指的是在查询时能够带入其他条件来查询。
一、常用连贯操作
1.where
帮助我们设置查询条件
2.order
对结果进行排序
$arr=$m->order('id desc')->select();
$arr=$m->order(array('id'=>'desc','sex'=>'asc'))->select();
3.limit
限制结果
limit(2,5)
limit('2,5')
limit(10)//limit(0,10)
4.field
设置查询字段
field('username as name,id')
field(array('username'=>'name','id')
field('id',true) //获取除了id以外的所有字段
5.table
6.group
7.having
二、补充
alias 用于给当前数据表定义别名 字符串
page 用于查询分页(内部会转换成limit) 字符串和数字
join* 用于对查询的join支持 字符串和数组
union* 用于对查询的union支持 字符串、数组和对象
distinct 用于查询的distinct支持 布尔值
lock 用于数据库的锁机制 布尔值
cache 用于查询缓存 支持多个参数(以后在缓存部分再详细描述)
relation 用于关联查询(需要关联模型扩展支持) 字符串
validate 用于数据自动验证 数组
auto 用于数据自动完成 数组
filter 用于数据过滤 字符串
scope* 用于命名范围 字符串、数组
三、简单实现Thinkphp中的where操作:
一、常用连贯操作
1.where
帮助我们设置查询条件
2.order
对结果进行排序
$arr=$m->order('id desc')->select();
$arr=$m->order(array('id'=>'desc','sex'=>'asc'))->select();
3.limit
限制结果
limit(2,5)
limit('2,5')
limit(10)//limit(0,10)
4.field
设置查询字段
field('username as name,id')
field(array('username'=>'name','id')
field('id',true) //获取除了id以外的所有字段
5.table
6.group
7.having
二、补充
alias 用于给当前数据表定义别名 字符串
page 用于查询分页(内部会转换成limit) 字符串和数字
join* 用于对查询的join支持 字符串和数组
union* 用于对查询的union支持 字符串、数组和对象
distinct 用于查询的distinct支持 布尔值
lock 用于数据库的锁机制 布尔值
cache 用于查询缓存 支持多个参数(以后在缓存部分再详细描述)
relation 用于关联查询(需要关联模型扩展支持) 字符串
validate 用于数据自动验证 数组
auto 用于数据自动完成 数组
filter 用于数据过滤 字符串
scope* 用于命名范围 字符串、数组
三、简单实现Thinkphp中的where操作:
<?php class Model { private $tabName=null; private $sql=null; private $where=null; function __construct($tabName) { $this->tabName=$tabName; mysql_connect('127.0.0.1','root','123456'); mysql_select_db('User'); } function where($_where){ $this->where=$_where; return $this; } function select(){ $arr=array(); $this->sql="select * from ".$this->tabName." where {$this->where}"; $result=mysql_query($this->sql); //mysql_num_rows返回结果集的行数 if ($result && mysql_num_rows($result)>0){ while($res=mysql_fetch_assoc($result)){ $arr[]=$res; } } return $arr; } function getSql(){ global $sql; return $this->sql; } } $m=new Model("User"); //$m2=$m->where('id>10');连贯操作的由来
//where操作返回了一个新的对象继续执行select操作。效果与Thinkphp相似,其他操作的实现类似</span>
$arr=$m->where('id>10')->select(); global $sql; echo "<pre>"; var_dump($arr); echo "<hr/>"; echo $m->getSql(); echo "</pre>"; ?>
相关文章推荐
- ThinkPHP 之 自定义模型、连贯操作要点
- ThinkPHP连贯操作
- ThinkPHP框架模型连贯操作(八)
- ThinkPHP,连贯操作between
- 关于thinkphp连贯操作加锁的详细介绍lock
- ThinkPHP3.1快速入门连贯操作
- ThinkPHP 连贯操作详解
- ThinkPHP框架模型连贯操作(八)
- thinkphp连贯操作实例分析
- 关于thinkphp的简单连贯操作
- ThinkPHP 3.1.2 连贯操作
- thinkPHP中连贯操作,视图
- ThinkPHP3.1快速入门(4)连贯操作
- ThinkPHP 连贯操作
- 简单的thinkphp,mysql增删查改,连贯操作总结
- ThinkPHP学习笔记(六)常用的连贯操作和模版的使用
- ThinkPHP的连贯操作
- thinkPHP 连贯操作
- ThinkPHP-连贯操作
- 【thinkphp3.x】thinkphp3.x中连贯操作