这可能很容易,但不知道怎么做.

I have a table that can have repeated values for a particular non-key column field. How do I write a SQL query using Query Builder or Eloquent that will fetch rows with distinct values for that column?

请注意,我并不是只获取该列,它与其他列值一起使用,所以distinct()可能并不真正起作用.所以这个问题基本上可以是,既然distinct()不接受任何参数,如何在查询中指定我想要区分的列?

推荐答案

你应该用groupby.在Query Builder中,您可以通过以下方式进行操作:

$users = DB::table('users')
            ->select('id','name', 'email')
            ->groupBy('name')
            ->get();

Laravel相关问答推荐

在没有lang/*.json文件的情况下在Laravel项目中实现多语言支持

如何在Laravel中从多行中获取合并数组?

在 laravel 中查询此类数据的最佳做法是什么?

仅针对字母的 laravel 验证规则

Laravel 重定向数据不工作

为什么 Laravel 5 会自动更新我的日期字段?

Laravel 不验证是否不需要字段

验证规则 required_if 与其他条件(Laravel 5.4)

Laravel 5 日志(log)中的最大文件数

.gitignore 不忽略文件夹

如何使用 Laravel 模型访问数据库视图?

Laravel:每当我返回一个模型时,总是返回一个与它的关系

条带 api 判断现有卡

调用未定义的方法 Maatwebsite\Excel\Excel::load()

Laravel 应用程序中应用程序键的意义是什么?

Select,where JSON 包含数组

我在哪里放置可以显示 Flash 消息的 Laravel 4 辅助函数?

Laravel homestead IP地址不起作用

[Vue 警告]:找不到元素:#app

如何在 Eloquent Orm 中实现自引用(parent_id)模型