私はこれに対する解決策を見つけたと思います。重要なのはmysqlのDATE()関数であり、これはDateTimeをちょうどDateに変換します:
DB::table('page_views')
->select(DB::raw('DATE(created_at) as date'), DB::raw('count(*) as views'))
->groupBy('date')
->get();
ただし、これは生のクエリであるため、実際にはLaravel Eloquentソリューションではありません。以下は、Eloquent風の構文で思いついたものです。最初のwhere句では、炭素の日付を使用して比較します。
$visitorTraffic = PageView::where('created_at', '>=', \Carbon\Carbon::now->subMonth())
->groupBy('date')
->orderBy('date', 'DESC')
->get(array(
DB::raw('Date(created_at) as date'),
DB::raw('COUNT(*) as "views"')
));