如何使用Laravel Eloquent实现分组查询并获取各分组结果?

更新于
2026-07-27 16:13:32
18阅读来源:SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计689个文字,预计阅读时间需要3分钟。

Laravel 5.5 在 Linux Mint 18 环境下,使用 PHPStorm 开发,近期刚开始学习 Laravel。由于缺乏手册和源码,我尝试了一个小项目。项目需求之一是查询数据库中某个字段,并返回每个分组中的数量。我查阅了相关资料,完成了这个功能。

Laravel 5.5

Linux mint 18

PHPStorm

最近刚玩Laravel,手册源码还没来得及看完就跃跃欲试做了个小项目,其中有个需求是分组查询数据库中的一个字段并返回每个分组中的数量,还是去翻手册(手册确实够简单):

groupBy 和 having 方法可用来对查询结果进行分组。having 方法的用法和 where 方法类似: $users = DB::table('users') ->groupBy('account_id') ->having('account_id', '>', 100) ->get();

网上去查,发现一个轮子

$user_info = DB::table('usermetas') ->select('browser', DB::raw('count(*) as total')) ->groupBy('browser') ->get();

再去查手册

## 指定一个 Select 子句# 当然,你并不会总是想从数据表中选出所有的字段。这时可使用 select 方法自定义一个 select 子句来查询指定的字段: $users = DB::table('users')->select('name', 'email as user_email')->get(); ## 原始表达式# 有时候你可能需要在查询中使用原始表达式。

阅读全文

本文共计689个文字,预计阅读时间需要3分钟。

Laravel 5.5 在 Linux Mint 18 环境下,使用 PHPStorm 开发,近期刚开始学习 Laravel。由于缺乏手册和源码,我尝试了一个小项目。项目需求之一是查询数据库中某个字段,并返回每个分组中的数量。我查阅了相关资料,完成了这个功能。

Laravel 5.5

Linux mint 18

PHPStorm

最近刚玩Laravel,手册源码还没来得及看完就跃跃欲试做了个小项目,其中有个需求是分组查询数据库中的一个字段并返回每个分组中的数量,还是去翻手册(手册确实够简单):

groupBy 和 having 方法可用来对查询结果进行分组。having 方法的用法和 where 方法类似: $users = DB::table('users') ->groupBy('account_id') ->having('account_id', '>', 100) ->get();

网上去查,发现一个轮子

$user_info = DB::table('usermetas') ->select('browser', DB::raw('count(*) as total')) ->groupBy('browser') ->get();

再去查手册

## 指定一个 Select 子句# 当然,你并不会总是想从数据表中选出所有的字段。这时可使用 select 方法自定义一个 select 子句来查询指定的字段: $users = DB::table('users')->select('name', 'email as user_email')->get(); ## 原始表达式# 有时候你可能需要在查询中使用原始表达式。

阅读全文