我有一个使用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/

10-11 20:17