计数和分组功能Laravel

用户名

我正在使用Laravel为管理员仪表板构建一些分析统计图。我很开心。虽然我在理解如何利用SQL查询和GroupBy函数来实现某些功能方面有些困难。

最终目标:检索已创建用户数量并按注册当周分组

到目前为止,我正在使用此:

DB::table("users")
   ->select(DB::raw("COUNT(*) as count"))
   ->orderBy("created_at")
   ->groupBy(function ($query)
     {
       return \Carbon\Carbon::parse($query->created_at)->format("W");
     })
   ->get();

我在Tinker中遇到了一个错误(目前我正在进行大部分测试,如下所示:

PHP warning:  strtolower() expects parameter 1 to be string,  object given in 
/Users/Ian/sites/bangerz-army/vendor/laravel/framework/src/Illuminate/Database/Grammar.php on line 58

我已经获得了类似的查询以在PHP中工作,但是出于性能方面的考虑,我宁愿在SQL中保持尽可能多的数学。

/ Laravel 5.5

模糊树

尝试DB::raw()在您的群组中使用

DB::table("users")
   ->select(DB::raw("COUNT(*) as count, WEEK(created_at)"))
   ->orderBy(DB::raw('WEEK(created_at)'))
   ->groupBy(DB::raw('WEEK(created_at)'))
   ->get();

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章