php - Laravel 5 Carbon 格式

标签 php laravel parsing format php-carbon

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

$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 年的结果。

最佳答案

您可以使用 whereMonth 方法,而不是使用 whereRawLIKE:

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

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

关于php - Laravel 5 Carbon 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34792988/

相关文章:

javascript - Ajax 代码无法在 JavaScript 中运行

php - 是否可以在 php 站点上进行 Windows 身份验证?

class - Laravel 4使用供应商类

python - 我们如何在 python 中解析包含带有 xml 命名空间标签的节点的 xml 数据?

php - 如何从这个多维数组形成 JSON

php - 是否有任何在线工具或可以简化此 MySQL SELECT 查询的人?

php - 仅支持的密码是 AES-128-CBC 和 AES-256-CBC 错误

linux - 使用 Laravel Forge 以 root 身份登录

python - Scrapy 重试中间件失败并显示非标准 http 状态代码

python - 如何将 Parse JSON 写入 CSV 文件?