tp5 实现列表数据根据状态排序

我们的列表数据有时候需要根据据状态来排序,状态有 1,2,3,4 四种状态 如果我们希望将 2 的状态排第一,那么就需要自定义状态

因为我们mysql的默认字段状态是,按照ASC方式,升序进行排序。

tp5 在进行查询前,需要通过框架的Db扩展来更改某个字段值得排序:例如,我需要将status字段的排序排成 0,1,2,8,-1的顺序

那么在查询前这么做:

$exp = new \think\Db\Expression('field(a.status,0,1,2,8,-1)');

然后在后面具体的链式操作中加上:

return Db::name('sssss')->alias('a')
  ->order($exp)
  ->where('a.is_show = 1 AND b.is_show = 1 )
  ->join('customer_invite b','b.invite_id = a.invite_id','left')
  ->select();

注意:status字段名我写成 a.status是因为 我后面的操作是进行了 联表查询a是别名!

以上这篇tp5 实现列表数据根据状态排序就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • ThinkPHP5查询数据及处理结果的方法小结

    本文实例讲述了ThinkPHP5查询数据及处理结果的方法.分享给大家供大家参考,具体如下: 在处理数据库查询结果时遇到了些问题,记录下用到过的几种查询方式和结果处理. 1. 查询某条记录 $where=array( "version_id"=>$version_id ); $data = model("PackageWhitelist")->where($where)->find(); $this->assign("package_

  • tp5(thinkPHP5)框架实现多数据库查询的方法

    本文实例讲述了tp5(thinkPHP5)框架实现多数据库查询的方法.分享给大家供大家参考,具体如下: 引言: 有时候一个管理后台,需要涉及到多个数据库.比如,商城管理.直播管理.消息管理等等,它们都有自己的数据库.这个时候,就需要去连接多个数据库,进行处理了.thinkphp可以支持多个数据库连接. 如何处理呢? 1.进行多个数据库的配置 默认会连接database.php中的数据库信息. <?php // +------------------------------------------

  • 在TP5数据库中四个字段实现无限分类的示例

    效果: CREATE TABLE `NewTable` ( `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT , `pid` int(10) UNSIGNED ZEROFILL NOT NULL , `name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , `path` varchar(200) CHARACTER SET utf8 COLLATE utf8_gene

  • tp5 实现列表数据根据状态排序

    我们的列表数据有时候需要根据据状态来排序,状态有 1,2,3,4 四种状态 如果我们希望将 2 的状态排第一,那么就需要自定义状态 因为我们mysql的默认字段状态是,按照ASC方式,升序进行排序. tp5 在进行查询前,需要通过框架的Db扩展来更改某个字段值得排序:例如,我需要将status字段的排序排成 0,1,2,8,-1的顺序 那么在查询前这么做: $exp = new \think\Db\Expression('field(a.status,0,1,2,8,-1)'); 然后在后面具体

  • Android实现列表数据按名称排序、中英文混合排序

    有时候我们需要多列表中的数据进行特定的排序,最近项目中用到的是按名称排序,所以简单来说一下: 效果图: 排序方法: Collections.sort(students, new SortChineseName()); for (Student s : students) { Log.e("David", "名称正序排列:" + s.getName()); } Log.d("David", "-----------------------

  • 使用vue根据状态添加列表数据和删除列表数据的实例

    如下所示: <template> <div> <div v-for="obj of a" @click="sel(obj)"> {{obj.name}} <span v-if="!obj.select">+</span><span v-else>-</span> </div> <hr> <div> <div v-for=&

  • Spring Data JPA进行数据分页与排序的方法

    一.导读 如果一次性加载成千上万的列表数据,在网页上显示将十分的耗时,用户体验不好.所以处理较大数据查询结果展现的时候,分页查询是必不可少的.分页查询必然伴随着一定的排序规则,否则分页数据的状态很难控制,导致用户可能在不同的页看到同一条数据.那么,本文的主要内容就是给大家介绍一下,如何使用Spring Data JPA进行分页与排序. 二.实体定义 我们使用一个简单的实体定义:Article(文章) @Data @AllArgsConstructor @NoArgsConstructor @Bu

  • python实现对象列表根据某个属性排序的方法详解

    本文实例讲述了python实现对象列表根据某个属性排序的方法.分享给大家供大家参考,具体如下: 对于一个已有的python list, 里面的内容是一些对象,这些对象有一些相同的属性值, 在一些特定的情况下,需要自己选择特定的排序,也就是根据某一个具体的属性来排序,在网上找了下资料,一般来说有两种方法,但从根本上来说,还是调用了list.sort 方法来实现.下面是简单的测试代码片段: #coding:utf-8 class Person: def __init__(self,name,age,

  • python中对数据进行各种排序的方法

    Python列表具有内置的 list.sort()方法,可以在原地修改列表. 还有一个 sorted()内置的函数从迭代构建一个新的排序列表.在本文中,我们将探讨使用Python排序数据的各种技术. 请注意,sort()原始数据被破坏,sorted()没有对原始数据进行操作,而是新建了一个新数据. 一.基本的排序 最基本的排序很简单.只要使用sorted()函数即可返回一个 新的排序的列表 >>>sorted([5, 2, 3, 1, 4]) [1, 2, 3, 4, 5] 咱们也可以使

  • Android实现数据按照时间排序

    经常遇见一个列表,两个接口的情况,两个接口属于两个不同的表数据,那么数据拼接回来之后,并不是按照时间排序的,看起来就相当混乱,所以记录一下如何对数据按照时间排序. 步骤一: 格式化日期 public static Date stringToDate(String dateString) { ParsePosition position = new ParsePosition(0); SimpleDateFormat simpleDateFormat = new SimpleDateFormat(

  • Vue+Node实现商品列表的分页、排序、筛选,添加购物车功能详解

    本文实例讲述了Vue+Node实现商品列表的分页.排序.筛选,添加购物车功能.分享给大家供大家参考,具体如下: 1.分页 商品列表的分页实现是后台根据前端请求的页面大小.页码位置,去数据库中查询指定位置的数据然后返回给前端.比如页面大小为8,要查第3页的数据,则跳过2*8条数据,然后返回接下来的8条数据. 实现滚动加载:页面刚一加载完成并不需要请求所有数据,只显示一部分.当用户下拉到页面底部时,再去请求数据并拼接到商品数据列表中.通过vue-infinite-scroll插件实现滚动加载,在框架

  • js实现提交前对列表数据的增删改查

    js实现列表数据的增删改查,AJAX提交后,js操作数据 最近工作中,有一处列表数据是页面初始化加载的,用户可以进行操作,因为这些数据并不存在数据库中,同时为了数据的整洁以及高效,所以要在页面进行增删改操作(其实查也可以,类似改),之前写过一个二维数组保存的,代码乱而且效率不高,后改用object 感觉还可以,主要是查询和删除的时候不需要自己遍历数组. 1. html 列表是用div+ul标签弄的,贴一些用到的片段 1.1 要展示的列表 <div class="tab">

  • MyBatis-Plus中使用EntityWrappe进行列表数据倒序设置方式

    目录 使用EntityWrappe进行列表数据倒序设置 情景 如下进行倒序案例 条件构造器EntityWrapper用法 EntityWrapper 简介 使用EntityWrappe进行列表数据倒序设置 情景 项目中使用MyBatis-Plus的EntityWrapper,默认是升序,但实际项目中需要倒序显示,就查看了一下相关资料,在这里记录一下.  EntityWrapper是个很强大的玩意,支持多条件查询  EntityWrapper<CompanyInfoEntity>() wrapp

随机推荐