Laravel-按数字int排序,即使列类型是字符串

问题描述

在这里:-

$query = Section::orderBy("section","desc")->get();

部分是带有字符串类型的列,但其中有数字,我想按这些数字排序 谢谢您的回复

解决方法

首先,在设计架构时应使用适当的数据类型。

对于您现有的架构,您可以使用orderByRaw方法来调整order by子句以键入类型转换值

->orderByRaw('section * 1 desc') 
,

您可以将orderByRawmysql convert一起使用

$query = Section::orderByRaw('CONVERT(section,SIGNED) desc')->get();
,

$ query-> orderByRaw(“ section :: int”,“ desc”)-> get();

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...