无法在 Eloquent 语句中获取 Laravel OrderBy 日期
Can't get Laravel OrderBy date to work in Eloquent statement
我需要按日期顺序提取记录,但花了几个小时研究这个并在我的代码中尝试了许多方法和变体,但我一无所获。
我需要对 left_employer_date
字段进行排序,该字段是 VARCHAR 格式。所以我正在尝试将 VARCHAR 转换为 DATE 格式以启用基于日期的排序。
这是我的数据:
Employer name, Position held, Hire date, Left employer date
Harteman Boat Yards, Foreman, 01/22/1998, 05/23/2005
Portland Light Rail Services, Shift Manager, 08/01/2005, 12/31/2018
US Forest Service, Game Warden, 01/12/2019, 04/23/2017
这是我的控制器代码,用于将这些数据按 left_employer_date 顺序提取到集合中:
$employment_info = EmploymentHistory::orderBy(DB::raw("DATE_FORMAT(left_employer_date, \"%m/%d/%Y\")"), 'DESC')->get();
我已经尝试过很多变体,并且总是按照输入的顺序(如上所示)获取返回的数据,而不是按日期排序。似乎无论我尝试什么,orderBy
都会被忽略。
我的项目是 Laravel 6 在 NGINX 上与 MariaDB
非常欢迎任何建议。
DATE_FORMAT 将日期转换为字符串
Tryp 逆 'STR_TO_DATE(str,format)'
我需要按日期顺序提取记录,但花了几个小时研究这个并在我的代码中尝试了许多方法和变体,但我一无所获。
我需要对 left_employer_date
字段进行排序,该字段是 VARCHAR 格式。所以我正在尝试将 VARCHAR 转换为 DATE 格式以启用基于日期的排序。
这是我的数据:
Employer name, Position held, Hire date, Left employer date
Harteman Boat Yards, Foreman, 01/22/1998, 05/23/2005
Portland Light Rail Services, Shift Manager, 08/01/2005, 12/31/2018
US Forest Service, Game Warden, 01/12/2019, 04/23/2017
这是我的控制器代码,用于将这些数据按 left_employer_date 顺序提取到集合中:
$employment_info = EmploymentHistory::orderBy(DB::raw("DATE_FORMAT(left_employer_date, \"%m/%d/%Y\")"), 'DESC')->get();
我已经尝试过很多变体,并且总是按照输入的顺序(如上所示)获取返回的数据,而不是按日期排序。似乎无论我尝试什么,orderBy
都会被忽略。
我的项目是 Laravel 6 在 NGINX 上与 MariaDB
非常欢迎任何建议。
DATE_FORMAT 将日期转换为字符串 Tryp 逆 'STR_TO_DATE(str,format)'