Skip to content
Advertisement

Laravel 5.5 Eloquent get distinct with more than 1 column

I have a table which is indexed by id and also has a column description.

I want to use this in a form with it populating a radio group.

My problem is if I try

$colours = Colours::where('manufacturer_id',"=",$man)->select('id','description')->orderBy('description')->groupBy('description')->get();

I get

SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘cl24-ids.colours.manufacturer_id’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by (SQL: select description, manufacturer_id from colours where manufacturer_id = 1 group by description)

Any ideas please or should I just use a non Eloquent solution?

Advertisement

Answer

 $colours = Colours::where('manufacturer_id',"=",$man)
                    ->select('id','description')->groupBy('description')->get();
User contributions licensed under: CC BY-SA
6 People found this is helpful
Advertisement