📅  最后修改于: 2023-12-03 15:32:33.320000             🧑  作者: Mango
当我们使用 Laravel Eloquent 查询数据时,有时候需要从数据库中获取不重复的数据,可以使用以下方法来实现。
在 Eloquent 模型中使用 distinct
方法可以返回不重复的结果集。
$uniqueResults = App\Models\User::distinct()->get(['name']);
以上代码将返回 User
模型中所有不重复的 name
值。
当对同一列进行聚合操作时,可以使用 groupBy
方法来获取不重复的结果集。
$uniqueResults = App\Models\Order::groupBy('customer_id')->get(['customer_id']);
以上代码将返回 Order
模型中所有不重复的 customer_id
值。
有时候我们需要获取多个列的不重复值,可以使用 select
和 groupBy
方法结合来扩展查询。
$uniqueResults = App\Models\Order::select(['customer_id', 'product_id'])->groupBy('customer_id', 'product_id')->get();
以上代码将返回 Order
模型中所有不重复的 customer_id
和 product_id
值。
以上就是使用 Laravel Eloquent 获取不重复数据的方法,可以根据实际需求进行选择。