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

Laravel中使用Request日期参数的where条件无法获取数据

问题解决:Laravel中通过Request日期查询数据无结果

可能的原因及解决方法

1. 确认请求参数的实际值

先排查$request->date是否是预期的日期内容,直接输出查看:

$datenow = $request->date;
dd($datenow); // 输出参数值,检查格式、内容是否和硬编码的一致

2. 统一日期格式

如果请求传入的日期格式和数据库存储的格式不匹配(比如数据库是YYYY-MM-DD,请求是DD/MM/YYYY或带时间戳),用Carbon转换格式:

use Carbon\Carbon;

// 转换为数据库匹配的日期格式
$datenow = Carbon::parse($request->date)->format('Y-m-d');
$payment = Payment::where('date', $datenow)->get();

// 或者直接转为日期字符串
$datenow = Carbon::parse($request->date)->toDateString();

3. 处理带时间的日期字段

如果数据库中date字段是datetime类型(存储了具体时间,比如2021-10-03 14:25:00),直接匹配纯日期字符串会失败,改用日期范围查询:

// 仅匹配日期部分
$payment = Payment::whereDate('date', $datenow)->get();

// 或者查询当天的所有记录
$payment = Payment::whereBetween('date', [
    Carbon::parse($datenow)->startOfDay(),
    Carbon::parse($datenow)->endOfDay()
])->get();

4. 检查请求参数名

确认前端传入的参数名确实是date,可以查看所有请求参数:

dd($request->all()); // 检查参数列表中是否存在正确的date参数

内容的提问来源于stack exchange,提问作者Sajadullah Safi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 10:16:01