thinkphp323query - juedaiyuer/researchNote GitHub Wiki

#ThinkPHP3.2.3的查询语言#

详细情况可以参考手册,仅仅作为工作日志使用...

##使用字符串作为查询条件##

$User = M("User"); // 实例化User对象
$User->where('type=1 AND status=1')->select();

//最后生成的SQL语句
SELECT * FROM think_user WHERE type=1 AND status=1

##使用数组作为查询条件##

$User = M("User"); // 实例化User对象
$condition['name'] = 'thinkphp';
$condition['status'] = 1;
// 把查询条件传入查询方法
$User->where($condition)->select();

//最后生成的SQL语句
SELECT * FROM think_user WHERE `name`='thinkphp' AND status=1

//使用逻辑关系OR
$User = M("User"); // 实例化User对象
$condition['name'] = 'thinkphp';
$condition['account'] = 'thinkphp';
$condition['_logic'] = 'OR';
// 把查询条件传入查询方法
$User->where($condition)->select();

//最后生成的SQL语句
SELECT * FROM think_user WHERE `name`='thinkphp' OR `account`='thinkphp'

数组方式查询更加高效

##使用对象方式来查询##

$User = M("User"); // 实例化User对象
// 定义查询条件
$condition = new stdClass();
$condition->name = 'thinkphp';
$condition->status= 1;
$User->where($condition)->select();

//最后生成的SQL语句
SELECT * FROM think_user WHERE `name`='thinkphp' AND status=1

##表达式查询##

$map['字段名'] = array('表达式','查询条件');

###表达式###

EQ				等于(=)
NEQ				不等于(<>)
GT				大于(>)
EGT				大于等于(>=)
LT				小于(<)
ELT				小于等于(<=)
LIKE			模糊查询
[NOT] BETWEEN	(不在)区间查询
[NOT] IN		(不在)IN 查询
EXP				表达式查询,支持SQL语法

####DB_LIKE_FIELDS####

'DB_LIKE_FIELDS'=>'title|content'

$map['title'] = 'thinkphp';

//查询条件
title like '%thinkphp%'

//查询条件数组形式
$map['a'] =array('like',array('%thinkphp%','%tp'),'OR');
$map['b'] =array('notlike',array('%thinkphp%','%tp'),'AND');

//等效于
(a like '%thinkphp%' OR a like '%tp') AND (b not like '%thinkphp%' AND b not like '%tp')

##快捷查询##

###实现不同字段相同的查询条件###

$User = M("User"); // 实例化User对象
$map['name|title'] = 'thinkphp';
// 把查询条件传入查询方法
$User->where($map)->select();
查询条件就变成
name= 'thinkphp' OR title = 'thinkphp'

###实现不同字段不同的查询条件###

$User = M("User"); // 实例化User对象
$map['status&title'] =array('1','thinkphp','_multi'=>true);
// 把查询条件传入查询方法
$User->where($map)->select();

##动态查询##

###getBy###

getByName
getByEmail

###getFieldBy###

getFieldByName

##source##

  • ThinkPHP3.2.3快速入门.pdf-快速入门3:查询语言