laravel-5 - 使用 Laravel eloquent 获取匹配月份和年份的记录
问题描述
如何查询表,使其仅获取与特定月份和年份匹配的记录,例如 Ym 即 2020-10。'created_at' 列。
这就是我目前正在做的事情:
School::where('user_id', 1)->where('created_at', '=', '2020-10')->count();
解决方案
我建议为您的过滤器创建一个日期范围,这样您的查询将保持sargable
$date = \Carbon\Carbon::parse($year."-".$month."-01");
$start = $date->startOfMonth()->format('Y-m-d H:i:s');
$end = $date->endOfMonth()->format('Y-m-d H:i:s');
School::where('user_id', 1)
->whereBetween('created_at', [$start, $end])
->count();
推荐阅读
- c# - 来自先前结果的 LINQ 条件
- file - 多个较大的请求在 IIS 上冻结
- typescript - 使用 sequelize-typescript 指定空列的正确方法是什么?
- javascript - IndexedDb 更改时触发的事件?
- html - Django 图像 url 重定向是通过 HTML 模板的链接而不是媒体文件?
- java - 是否有另一种解决方案可以使用 Kafka Streams API 找到 Kafka 主题中组合键的最大重复次数?
- django - JSONDecodeError 异常值:预期值:第 1 行第 1 列(字符 0)
- java - 如何解决 Hibernate 中的“X 不是 Java 标识符”问题?
- python - Numpy - 在 4D 矩阵中搜索(又名混乱的网格)
- javascript - 如何在同一页面上显示两个幻灯片?