我有一个使用carbon按月从MySQL获取数据的函数
$calls = \DB::table('calls')
->where('owned_by_id', $report->id)
->where(\DB::raw('month(created_at)'), Carbon::today()->month)
->get();
$report->callsCount = $calls->count();
很好,我想做的是每周获取数据
我试着这样修改代码:
->where(\DB::raw('week(created_at)'), Carbon::today()->week)
但我在拉维尔发现了一个错误
未知获得者“周”
最佳答案
你需要通过week
来过滤日期这意味着日期范围试试这个
$calls = \DB::table('calls')
->where('owned_by_id', $report->id)
->whereBetween('created_at', [Carbon::now()->subWeek()->format("Y-m-d H:i:s"), Carbon::now()])
->get();
$report->callsCount = $calls->count();
这意味着要根据carbon docshttps://carbon.nesbot.com/docs/和laravel docshttps://laravel.com/docs/5.8/queries#where-clauses获取过去7天到现在的所有数据
关于php - Laravel和MySQL按周获取数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55121943/