thinkphp5的连贯操作(链式操作)
原理:中间调用的方法,返回值是对象,可以继续调用对象的其他方法.
一条sql语句的组成可以很复杂,里面有where、order by、group by 限制查询的字段、limit、having等限制条件等等,这些
很复杂的条件在框架中都有封装
注意:TP框架中,中间的方法没有顺序要求,当时用于获取的最终结果的find和select等方法必须加在最后.
常用链式操作方法
$model=new Address();
$model->field('id','name')->select(); //指定要查询的字段,原生sql中select后面的字段
$model->order('id desc')->select(); //相当于元素sql中的 order by
$model->order('id desc,time desc')->select(); //可以根据多个排序 用逗号隔开
$model->limit(3)->select(); //相当于原生sql中的limit条件
where和having的区别:where从一开始就开始筛选,having从结果集里面再次进行筛选.
$model->alias('a')->join('user u','u.id=a.id','left')->select; //alias给当前的表取别名(模型会根据自己的名称去找和自己名称一样的数据表),join方法连表查询
$model->alias('当前表的别称')->join('另一个表的完整表名后缀也加 别名','表1.id=表二.id','哪边的表为主(right和left)')->select;
连贯操作的练习

浙公网安备 33010602011771号