Thinkphp中的连贯操作

一般而言,连贯操作指的是在查询时能够带入其他条件来查询。

一、常用连贯操作
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>";


?>



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值