thinkPHP5中order多字段进行排序查询数据

thinkPHP5框架可以说是目前国内关于php开发比较常见的框架之一,在php中关于数据查询更是常见的操作手段。

本篇文章介绍在thinkPHP5中使用查询数据置顶在所有文章最前面,其次为时间降序查询。

在thinkPHP5中关于升序降序就需要用到order。

order的作用及参数:

    作用:order方法用于对操作的结果排序或者优先级限制。

    参数:如果没有指定desc或者asc排序规则的话,默认为asc。

如:查询所有数据根据add_time字段降序

Db::table('表名')->order('add_time', 'desc')->select();

如:查询所有数据根据topping字段降序,topping为是否置顶字段。(默认0|不置顶,1|置顶)

Db::table('表名')->order('topping', 'desc')->select();

通过上述两个查询语句可以分别查询出创建时间降序数据和置顶降序数据。但显然这并不符合我们需求,那么在thinkPHP5中如何同时对order设置两个字段呢?

接下来看如下查询语句,基于order来查询数据。

方式一:多个条件排序多个order

Db::table('表名')->order('topping', 'desc')->order('add_time', 'desc')->select();

方式二:多条件排序字段都写在order中

Db::table('表名')->order('topping desc,add_time desc')->select();

该order写法结果为:topping置顶在最前面,其次按照时间排序。


六月初字帖坊小程序 你想要的字帖模板及工具,这里都有!