douchuanchai2793 2015-06-03 10:25
浏览 600
已采纳

使用Laravel 5 eloquent查询构建器的DISTINCT方法

I'm struggling to get unique results when using the DISTINCT method in laravel. This is my query

//Get users that are part of this sector

        $users = DB::table('users')->distinct()
                            ->join('projects', 'users.id', '=', 'projects.userID')
                            ->where('projects.sectorID', '=', $sector->sectorID)
                            ->get();
        dd($users);

The result shows 3 users with the same ID, when I only want one of them in the results.

How should I change my query?

  • 写回答

1条回答 默认 最新

  • duan3019 2015-06-03 10:27
    关注

    Try to use group by id

    $users = DB::table('users')
         ->join('projects', 'users.id', '=', 'projects.userID')
         ->where('projects.sectorID', '=', $sector->sectorID)
         ->groupBy('users.id')
         ->get();
    
    dd($users);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?