Monday, March 7, 2022

[FIXED] Laravel 5.5 Eloquent get distinct with more than 1 column

Issue

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?


Solution

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


Answered By - Mr. Pyramid

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.