Distinct()在Laravel中没有给出不同的行

时间:2018-11-16 06:06:58

标签: laravel laravel-5.6

     DB::table('paperregisters')
         ->join('syllabuses','paperregisters.deptoffering_id','=','syllabuses.deptoffering_id')
         ->where('paperregisters.email','=',$user->email)
         ->distinct('paperregisters.admno')
         ->get();

我正在尝试检索唯一的admno值。上面的代码结果检索重复的值。 Paperregisters表的ID为1,2,课程表的ID为1,2。我从两个表中都得到结果

current result

Expected result

2 个答案:

答案 0 :(得分:0)

使用GROUP BY代替distinct

查询

DB::table('paperregisters')
             ->join('syllabuses','paperregisters.deptoffering_id','=','syllabuses.deptoffering_id')
             ->where('paperregisters.email','=',$user->email)
             ->groupBy('paperregisters.admno')
             ->get();

答案 1 :(得分:0)

尝试添加选择以选择所需的最终记录字段

例如

->select(['paperregisters.admno', 'syllabuses.deptoffering_id' ....])->get()