Laravel查询生成器按天计算行数SQL数据库::raw



我有一个Laravel 8应用程序,我需要计算每天的应用程序总数,并以最有效的方式输出数据计数,例如,第一天500个应用程序,第二天1000个应用程序等等,这取决于每天有多少应用程序。

我使用DB::raw()来计算我的行数,然而,Laravel的时间戳默认情况下包括小时、分钟和秒作为日期的一部分,所以这对我来说不起作用,我需要格式化日期以排除这一点,只包含日期。

我的查询似乎没有返回任何内容,也没有错误,所以我认为我的第一个DB::raw()有问题,它似乎根本没有格式化为created_at列,我缺少什么?

Application::whereBetween('created_at', [$from, $to])
->select(DB::raw('DATE_FORMAT("created_at, %Y-%m-%d")'), DB::raw('count(*) as applications'))
->groupBy('created_at')
->get();

您可以使用groupByRaw((

Application::whereBetween('created_at', [$from, $to])
->select(DB::raw('DATE_FORMAT(created_at, "%Y-%m-%d")'), DB::raw('count(*) as applications'))
->groupByRaw('DATE_FORMAT(created_at, "%Y-%m-%d")')
->get();

此外,您可以使用selectRaw((代替select(DB::raw(

最新更新