gpt4 book ai didi

mysql - 我如何从 Laravel 中的表中获取本周的计数数据

转载 作者:可可西里 更新时间:2023-11-01 08:09:47 25 4
gpt4 key购买 nike

我正在尝试从我的表中获取本周的数据

我有以下代码可以提供 31 天的数据(一个月,但它是分开的,这正是我需要的)

$stats["tmv"] = "";
$stats["tmd"] = "";
$stats["tru"] = array();

for ($i=1; $i <= 31; $i++) {
$stats["tmv"] .= DB::table('stats')->select(DB::raw('*'))->where(DB::raw('DAY(created_at)'), '=', $i)->where('stats_type', "mv")->count();
$stats["tmd"] .= DB::table('stats')->select(DB::raw('*'))->where(DB::raw('DAY(created_at)'), '=', $i)->where('stats_type', "md")->count();
$stats["tru"][$i] = DB::table('users')->select(DB::raw('*'))->where(DB::raw('DAY(created_at)'), '=', $i)->count();

if ($i != 31) {
$stats["tmv"] .= ",";
$stats["tmd"] .= ",";
}
}

输出:

"tmv" => "11,4,1,13,0,5,15,2,0,24,1,7,17,18,45,14,31,61,3,1,4,1,1,27,30,47,18,60,10,0,156"

如何编辑我的查询以选择本周的数据,但仍输出如下计数:

"11,4,1,13,0,5,15"

最佳答案

您的代码会生成大量查询,这非常糟糕。有多种方法可以通过一次查询获取所需的数据。例如,使用 Eloquent:

Stats::where('created_at', '>', Carbon::now()->startOfWeek())
->where('created_at', '<', Carbon::now()->endOfWeek())
->get();

如果您想获取另一周的数据而不是当前一周的数据,请使用另一个 Carbon 对象,例如 Carbon::parse('2017-05-01') 而不是 Carbon: :现在()

关于mysql - 我如何从 Laravel 中的表中获取本周的计数数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42875440/

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