thinkphp3.2【SQL各种查询条件&&select()方法原理追踪】

【各种查询条件设置】

$obj = D();  创建对象

$obj -> select();  查询数据

select  字段,字段  from  表名  where 条件  group 字段 having  条件   order 排序  limit 限制条数;

SELECT%DISTINCT%%FIELD%FROM %TABLE%%JOIN%%WHERE%%GROUP%%HAVING%%ORDER%%LIMIT% %UNION%%COMMENT%

 

$obj -> field(字段,字段);  查询指定字段

$obj -> table(数据表);   设置具体操作数据表

$obj -> where(参数);   参数就是正常sql语句where后边的条件信息

例如:( “goods_price >100 and  goods_name like ‘三%’”)

$obj -> group(字段);  根据字段进行分组查询

$obj -> having(参数条件);  having 条件设置

$obj -> order(‘price  desc/asc’)  排序查询

$obj -> limit([偏移量,]条数)  限制查询的条数

 

sql语句里边具体的条件设置在tp框架model模型里边体现为具体的方法操作

 

以上方法理论上是父类Model的对应方法

父类model具体存在方法:   field()  where()   limit()

还有一些方法在__call()自动调用函数里边: table()  group()  order()  having()

__call()魔术方法里边会判断当前的执行方法是否是一个method属性的元素信息,如果存在就会执行执行

 

以上多个方法是同时使用多个进行条件显示(并且没有顺序要求)

$obj -> limit(5)->field(‘id,name’)->order(‘price asc’) -> table(‘sw_goods’)->select();

以上许多方法执行没有顺序要求,许多方法执行后都是把具体的参数赋予到model属性options里边,最后根据options拼装sql语句。



select()方法原理追踪

 thinkphp3.2【SQL各种查询条件&&select()方法原理追踪】_第1张图片thinkphp3.2【SQL各种查询条件&&select()方法原理追踪】_第2张图片thinkphp3.2【SQL各种查询条件&&select()方法原理追踪】_第3张图片

 

 

你可能感兴趣的:(TP,and,OTP)