Laravel 5 碳格式

Laravel 5 Carbon Format

编辑:感谢戴维森先生的评论,我将查询更改为:

$query->where(DB::raw('MONTH(date)'), '=', Carbon::parse($month)->format('m'));

原帖:

在我的费用概览中,我有一个下拉菜单,我可以在其中 select 一个月,然后仅查询该特定月份的结果,如下所示:

$query->where('date', 'LIKE', '%' . Carbon::parse($month)->format('m') . '%');

之前,我的查询是这样的:

$query->where('date', 'LIKE', '%2015-' . Carbon::parse($month)->format('m') . '%');

在我的数据库中,我有一个日期时间字段,所以上面的方法有效,但当然它只显示 2015 年的结果。我想弄清楚如何使用第一个查询来显示 2016 年的结果。

除了使用 whereRawLIKE,您还可以使用 whereMonth 方法:

$query->whereMonth('date', '=', Carbon::parse($month)->format('m'));

因为它更容易阅读。该方法未记录在 Laravel Query Builder Docs, but you can check out the Query Builder API 中以查看方法签名,以及检查在构建查询时可以使用哪些其他方法(因为官方文档中未描述的方法很多) ).