猿问

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

这里是:-

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

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


慕森卡
浏览 163回答 3
3回答

MMTTMM

您可以将orderByRaw与mysql Convert一起使用$query = Section::orderByRaw('CONVERT(section, SIGNED) desc')->get();

FFIVE

首先,在设计模式时应该使用正确的数据类型。对于现有模式,您可以调整 order by 子句,以使用orderByRaw方法在运行时类型转换您的值->orderByRaw('section * 1 desc')

慕雪6442864

$query->orderByRaw("section::int", "desc")->get();
随时随地看视频慕课网APP
我要回答