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
fromcolours
wheremanufacturer_id
= 1 group bydescription
)
Any ideas please or should I just use a non Eloquent solution?
$colours = Colours::where('manufacturer_id',"=",$man)
->select('id','description')->groupBy('description')->get();
The distinct method allows you to force the query to return distinct results:
$users = DB::table('users')->distinct()->get();
Get unique rows
$categories = Machine::distinct('category')->pluck('category','antoher');
You can get distinct data just pass column as array in get method with distinct.
$myusers = User::distinct()->get(['created_by']);