【发布时间】:2016-04-19 23:30:47
【问题描述】:
编辑:感谢戴维森先生的评论,我将查询更改为:
$query->where(DB::raw('MONTH(date)'), '=', Carbon::parse($month)->format('m'));
操作:
在我的费用概览中,我有一个下拉菜单,我可以在其中选择一个月份,然后只查询该特定月份的结果,如下所示:
$query->where('date', 'LIKE', '%' . Carbon::parse($month)->format('m') . '%');
之前,我的查询是这样的:
$query->where('date', 'LIKE', '%2015-' . Carbon::parse($month)->format('m') . '%');
在我的数据库中,我有一个日期时间字段,因此上述方法有效,但当然它只显示 2015 年的结果。我正在尝试弄清楚如何使用第一个查询来显示 2016 年的结果。
【问题讨论】:
-
为什么不添加一个下拉列表来选择年份以及默认为当前年份?您实际上是否将日期存储为字符串?如果您以正确的格式存储日期查询,则有比使用 LIKE 查询更好的方法。
-
谢谢,我应该调查一下,我正在使用 LIKE,因为我仍然是一个 n00b ;) 存储为日期时间顺便说一句。
标签: php laravel parsing format php-carbon