gpt4 book ai didi

laravel - 如何使用 eloquent laravel 过滤两个日期之间的数据?

转载 作者:行者123 更新时间:2023-12-02 18:57:20 27 4
gpt4 key购买 nike

我想在 Laravel 中过滤两个日期之间的数据。我有一个包含日期列的表,其中日期以 Y-m-d 格式存储。

$total = App\Models\Data::where('age_id',$age->id)
->where('nationality',$nationality)
->when(isset($to), function($q){
$q->whereBetween('dateTime',[$from,$to]);
})->when(!isset($to), function($q){
$q->where('dateTime',$from);
})
->sum('count');

我的条件是 $to 有时可以为空。但是 whereBetween 需要 $from 和 $to 才能工作。 whereIn 获取 $from 和 $to 的数据,但不获取 $from 和 $to 之间的数据。如果仅填充 $from,我想过滤该请求日期的数据。如果 $from 和 $to 已填充,我想过滤 $from 和 $to 之间的数据并对这些数据执行计数。我怎样才能实现这一目标?

最佳答案

试试这个:

$data = App\Models\Data::where('age_id',$age->id)
->where('nationality', $nationality)
->when(isset($to), function($q) use($from, $to){
$q->whereBetween('date', [$from, $to]);
})
->when(!isset($to), function($q) use($from){
$q->whereDate('date', $from);
})
->get();

关于laravel - 如何使用 eloquent laravel 过滤两个日期之间的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66030877/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com