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

Laravel中获取三张表指定日期范围最大document_date的最大值

实现方案

前提条件

确保你已经为三张表创建了对应的Eloquent模型:

  • TableA 对应 tableA
  • TableB 对应 tableB
  • TableC 对应 tableC

代码实现

// 给定的日期范围变量
$date1 = '2023-01-01'; 
$date2 = '2023-08-01'; 

// 分别查询每张表在日期范围内的最大document_date
$maxDateA = TableA::whereBetween('document_date', [$date1, $date2])->max('document_date');
$maxDateB = TableB::whereBetween('document_date', [$date1, $date2])->max('document_date');
$maxDateC = TableC::whereBetween('document_date', [$date1, $date2])->max('document_date');

// 收集有效日期(过滤空值)并取其中的最大值
$validDates = array_filter([$maxDateA, $maxDateB, $maxDateC]);
$finalMaxDate = !empty($validDates) ? max($validDates) : null;

// 返回最终结果
return $finalMaxDate;

代码说明

  • whereBetween('document_date', [$date1, $date2]):精准筛选出document_date处于指定区间内的记录
  • max('document_date'):直接获取该区间内的最大日期,若区间内无匹配记录则返回null
  • array_filter:过滤掉可能的null值,避免后续max函数因空值报错
  • max($validDates):从所有有效日期中取出最大的那个值

内容的提问来源于stack exchange,提问作者Sona Rijesh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 12:19:58