我必须订购具有自定义时间格式的数据库表。表中使用的时间格式如下:
1:30:下午
下午8:35:
5:50:下午
下午7时00
我尝试了以下操作,但未按正确的顺序对它们进行排序。
->orderBy('time_schedule.start_time', 'asc');
用上述方法对进行排序后,结果如下
1:30:下午
5:50:下午
下午8:35:
下午7时00
我无法更改应用程序的那部分内容,因此无法更改保存的格式。
而且数据必须以laravel的形式来排序,在我的情况下不能使用前端排序。
请让我知道是否有一种方法可以使用laravel进行排序。
最佳答案
您可以使用STR_TO_DATE
函数,例如:
SELECT
start_time
FROM
tablename
ORDER BY
STR_TO_DATE(start_time, '%l:%i %p');
为此,您必须使用
raw
查询。Reference
关于php - 如何在Laravel中按自定义时间格式排序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44405031/