Laravel如何更改列表中的日期格式


Laravel how to change date format in the list

我们正在从具有日期的数据库中检索列表。我们希望以不同的格式显示它。假设2014年11月10日。

这是我的代码

轨迹1:

$dropDown = Events::lists(DATE_FORMAT(event_date,'%d %M, %Y'), 'id');

路径2:

$dropDown = Events::lists("DATE_FORMAT(event_date, '%Y-%m-%d')  AS event_date", 'id')

但它抛出了错误。有没有什么方法可以让我们使用,在Laravel中获得所需的日期格式?

正常查询:

select id, DATE_FORMAT(event_date,'%d %M, %Y') AS event_date from events

这应该可以工作。

Events::lists(DB::raw('DATE_FORMAT(event_date, "%d %M, %Y")'), 'id');

在你在问题(和评论)中发布的代码中,总是有一个小错误。

  1. DATE_FORMAT是SQL函数,而不是PHP函数
  2. 您必须使用DB::raw才能使用SQL函数
  3. DB::raw需要一个字符串