【问题标题】:Laravel how to change date format in the listLaravel如何更改列表中的日期格式
【发布时间】: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 尝试了两种方式

标签: php laravel laravel-4


【解决方案1】:

这应该可行。

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

在您在问题中发布的代码(以及 cmets)中,总是有一个小错误。

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

【讨论】:

  • 查询打印如下:select DATE_FORMAT(event_date, "%d %M, %Y"), id from events
  • 有什么方法可以添加为 event_date 或类似的东西
  • @vvr 使用lists 时没有多大意义,因为返回值是一个数组,其id 和值为[1 => "10 November, 2014"
猜你喜欢
  • 2015-04-15
  • 2022-12-19
  • 2017-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-05
  • 1970-01-01
相关资源
最近更新 更多