thinkphp5从数据中筛选字段,由中文字母进行排序

本文介绍在ThinkPHP5中实现多字段排序的方法,包括使用convert函数进行中文字母排序,以及通过Expression类实现复杂排序规则。文章提供示例代码,展示了如何在联表查询中应用这些排序技巧。

thinkphp5从数据中筛选字段,由中文字母进行排序

  • 方法一
$brand = db('wb_brand')->orderRaw('convert(name using gbk)')->select();
  • 方法二

正确的写法应该使用这篇文章《TP5多字段排序》中的方法,TP中的一个类,超级简单超级好用。

//实例化这个类,并在实例化的时候传入你需要的排序规则
$exp = new Expression(‘field(table1.field1,null),field(table2.field2,null),convert(table3.field3 using gbk) asc,table4.field4 desc’);
 
//这里是示例代码,具体需要根据自己的业务逻辑进行修改
l i s t = M o d e l : : j o i n ( ′ t a b l e 2 t 2 ′ , ′ t 1. i d = t 2. i d ′ , ′ L E F T ′ ) − > j o i n ( ′ t a b l e 3 t 3 ′ , ′ t 1. i d = t 3. i d ′ , ′ L E F T ′ ) − > j o i n ( ′ t a b l e 4 t 4 ′ , ′ t 4. i d = t 3. i d ′ ) − > f i e l d ( ′ 你 需 要 的 字 段 ′ ) − > o r d e r R a w ( list = Model::join('table2 t2', 't1.id = t2.id','LEFT') ->join('table3 t3', 't1.id = t3.id','LEFT') ->join('table4 t4','t4.id = t3.id') ->field('你需要的字段') ->orderRaw( list=Model::join(table2t2,t1.id=t2.id,LEFT)>join(table3t3,t1.id=t3.id,LEFT)>join(table4t4,t4.id=t3.id)>field()>orderRaw(exp)
->with([‘这里我进行了关联关系查询,不需要的可以用写’])->where(‘查询条件’);
这样多字段排序就完成了,不知道有没有人注意到

我并没有使用order,而是使用了orderRaw,为什么呢?我们来看看官方文档

当你的order排序中使用了SQL函数的时候,请使用orderRaw方法替代order

撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
查找:Ctrl/Command + F
替换:Ctrl/Command + G

合理的创建标题,有助于目录的生成

直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

如何改变文本的样式

强调文本 强调文本

加粗文本 加粗文本

标记文本

删除文本

引用文本

H2O is是液体。

210 运算结果是 1024.

插入链接与图片

链接: link.

图片: Alt

带尺寸的图片: Alt

居中的图片: Alt

居中并且带尺寸的图片: Alt

当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

如何插入一段漂亮的代码片

博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

// An highlighted block
var foo = 'bar';


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值