首页 > 解决方案 > 使用 Laravel eloquent 获取匹配月份和年份的记录

问题描述

如何查询表,使其仅获取与特定月份和年份匹配的记录,例如 Ym 即 2020-10。'created_at' 列。

这就是我目前正在做的事情:

School::where('user_id', 1)->where('created_at', '=', '2020-10')->count();

标签: laravel-5eloquent

解决方案


我建议为您的过滤器创建一个日期范围,这样您的查询将保持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();

推荐阅读