Laravel如何更改列表中的日期格式
Posted
技术标签:
【中文标题】Laravel如何更改列表中的日期格式【英文标题】:Laravel how to change date format in the list 【发布时间】:2015-01-06 16:45:54 【问题描述】:我们正在从有日期的数据库中检索列表。我们希望以不同的格式显示它。假设是 2014 年 11 月 10 日。
这是我的代码
Trail1:
$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
【问题讨论】:
使用未定义的常量 event_date - 假定为 'event_date' 我只是猜测,但你可以试试Events::lists(DB::raw("DATE_FORMAT..."), 'id');
@lukasgeiter 试过了,但没有成功
@vvr 您是否尝试过使用或不使用`AS event_date`?
@lukasgeiter 尝试了两种方式
【参考方案1】:
这应该可行。
Events::lists(DB::raw('DATE_FORMAT(event_date, "%d %M, %Y")'), 'id');
在您在问题中发布的代码(以及 cmets)中,总是有一个小错误。
-
DATE_FORMAT 是 SQL 函数而不是 php 函数
您必须使用
DB::raw
才能使用 SQL 函数
DB::raw
需要一个字符串
【讨论】:
查询打印如下:select DATE_FORMAT(event_date, "%d %M, %Y"),id
from events
有什么方法可以添加为 event_date 或类似的东西
@vvr 使用lists
时没有多大意义,因为返回值是一个数组,其id 和值为[1 => "10 November, 2014"
以上是关于Laravel如何更改列表中的日期格式的主要内容,如果未能解决你的问题,请参考以下文章