postgresql - 如果使用 Postgre,如何在 laravel 的查询构建器中使用 **distinct on()**?

标签 postgresql laravel

<分区>

我想要 laravel 查询生成器中 distinct on() 的语法。

最佳答案

Eloquent 没有 distinctOn功能。

你可以使用原始查询

$query->select(
    \DB::raw("DISTINCT ON (field1, field2) *")
);

或者安装一个添加了distinctOn方法的包,比如this one .

如果您使用的是 Laravel 9 或更高版本 - native distinct on support is available ,只要您使用的是 Postgres 驱动程序。

$query->distinct(['field1', 'field2']);

关于postgresql - 如果使用 Postgre,如何在 laravel 的查询构建器中使用 **distinct on()**?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38609157/

相关文章:

sql - 当条件依赖于关系属性时如何搜索模型

postgresql - 如何强制前缀 "pg_"在 postgres 中创建新用户?

php - Laravel 将密码重置链接发送到单独的身份验证保护

javascript - Laravel 5.3 中新的 app.js 的目的是什么?

postgresql - 使用 PostgreSQL 插入触发器以更新另一个表

SQL for public private records 这取决于所选择的项目

postgresql - 我如何在docker中备份数据库

laravel - 使用发生错误的 url 登录 laravel 5 时出错

php - 目标类 [App\Utilities\getIp] 不存在

php - 具有两个外键的三个表之间的 Laravel 关系