我有一个模型下载,它有两个属性。这些属性是'id','user_id','file_id'。
每当用户下载文件时,都会创建下载记录。
我想获取具有唯一file_id和唯一user_id的所有下载。
这是如何完成的。
答案 0 :(得分:1)
您可以使用groupBy
方法。
$downloads = DB::table('downloads')
->groupBy('file_id')
->groupBy('user_id')
->get();
或强>
您可以使用distinct
方法。
$downloads = DB::table('downloads')->distinct()->get();
答案 1 :(得分:0)
集合可能来自某种关系,之后需要进行过滤。以下是在laravel 5.7中经过测试的工作解决方案,很可能在以后的版本中也是如此:
{ $replaceWith: "$data3" }
with
{ $replaceRoot: {newRoot: "$data3" }}
这里是有关此的文章:http://laravel.at.jeffsbox.eu/laravel-5-eloquent-collection-methods-unique