Distinct () не дает четкую строку в laravel - PullRequest
0 голосов
/ 16 ноября 2018
     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. Я получаю результат из обеих таблиц

текущий результат

Ожидаемый результат

Ответы [ 2 ]

0 голосов
/ 16 ноября 2018

Попробуйте добавить выбор для выбора полей, которые вы хотите в окончательных записях

например.

->select(['paperregisters.admno', 'syllabuses.deptoffering_id' ....])->get()
0 голосов
/ 16 ноября 2018

Используйте GROUP BY вместо distinct

Запрос

DB::table('paperregisters')
             ->join('syllabuses','paperregisters.deptoffering_id','=','syllabuses.deptoffering_id')
             ->where('paperregisters.email','=',$user->email)
             ->groupBy('paperregisters.admno')
             ->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...