2

Now I am using this Query To Display Below Result Query:

 $data['faculty'] = Faculty::select('faculties.id', 'faculties.faculty', 'faculties.slug', 'faculties.status','s.semester','fs.faculty_id')
->join('faculty_semester as fs', 'faculties.id', '=', 'fs.faculty_id')
->join('semesters as s', 's.id', '=', 'fs.semester_id')
->orderBy('faculties.faculty', 'asc')
->get();

Display Result

1     BBA      FIRST SEM
2     BBA      SECOND SEM   
3     BBA      FOURTH SEM
4     BBA      THIRD SEM
5     BBS      SECOND YEAR
6     BBS      FIRST YEAR

But I want To Display on Group. How Can I Build Group Query on Laravel To Display Below Result

1     BBA      FIRST SEM, 
               SECOND SEM
               THIRD SEM
               FOURTH SEM
2     BBS      FIRST YEAR
               SECOND YEAR
Umesh Kumar Yadav
  • 121
  • 1
  • 4
  • 14

1 Answers1

0

I would recommend using eager loading, declaring relationships in models

https://laravel.com/docs/5.5/eloquent-relationships#eager-loading, so you can avoid using joins..

Did you try this?

$data['faculty'] = Faculty::select('faculties.id', 'faculties.faculty', 'faculties.slug', 'faculties.status','s.semester','fs.faculty_id')
->join('faculty_semester as fs', 'faculties.id', '=', 'fs.faculty_id')
->join('semesters as s', 's.id', '=', 'fs.semester_id')
->groupBy('faculties.faculty')
->get();
  • Yes, I try this code but following error apear on display "SQLSTATE[42000]: Syntax error or access violation: 1055 'collegeaccounting.faculties.id' isn't in GROUP BY (SQL: select `faculties`.`id`, `faculties`.`faculty`, `faculties`.`slug`, `faculties`.`status`, `s`.`semester`, `fs`.`faculty_id` from `faculties` inner join `faculty_semester` as `fs` on `faculties`.`id` = `fs`.`faculty_id` inner join `semesters` as `s` on `s`.`id` = `fs`.`semester_id` group by `faculties`.`faculty`) " – Umesh Kumar Yadav Nov 10 '17 at 00:20