You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel查询构造器:筛选输入日期处于starts_at与ends_at区间的记录方法

如何用Laravel查询构造器筛选输入日期在starts_at和ends_at之间的记录

刚好之前处理过类似的需求,用Laravel的查询构造器链式调用where方法就能轻松搞定,核心就是要让输入日期同时满足大于等于starts_at,并且小于等于ends_at这两个条件。

具体实现代码

直接基于你的Eloquent模型编写查询即可,代码如下:

// 先准备好你的输入日期,推荐用Carbon处理日期格式
$inputDate = \Carbon\Carbon::parse('2024-05-20');

// 替换成你实际的模型类名,比如Event::...
$targetRecords = YourModel::where('starts_at', '>=', $inputDate)
                          ->where('ends_at', '<=', $inputDate)
                          ->get();

额外提示

  • 一定要把YourModel替换成你项目中对应的Eloquent模型名称
  • 如果输入的日期是字符串类型,用Carbon::parse()转换一下会更稳妥,Laravel会自动适配数据库的datetime字段格式
  • 这个查询逻辑会精准返回所有满足starts_at ≤ 输入日期 ≤ ends_at的记录,完全匹配你的需求

内容的提问来源于stack exchange,提问作者Fauzi PadLaw

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:48:50