我有一个由id索引的表,并且还有一个列描述。
我希望以填充广播组的形式使用它。
我的问题是如果我尝试
$colours = Colours::where('manufacturer_id',"=",$man)->select('id','description')->orderBy('description')->groupBy('description')->get();
我得到了
SQLSTATE [42000]:语法错误或访问冲突:1055 SELECT列表的表达式#2不在GROUP BY子句中,并且包含非聚合列' cl24-ids.colours.manufacturer_id'它在功能上不依赖于GROUP BY子句中的列;这与sql_mode = only_full_group_by(SQL:从
description
选择manufacturer_id
,colours
不兼容,其中manufacturer_id
= 1组description
)
任何想法,或者我应该使用非雄辩的解决方案吗?
答案 0 :(得分:2)
distinct方法允许您强制查询返回不同的结果:
$users = DB::table('users')->distinct()->get();
获取唯一行
$categories = Machine::distinct('category')->pluck('category','antoher');
答案 1 :(得分:1)
$colours = Colours::where('manufacturer_id',"=",$man)
->select('id','description')->groupBy('description')->get();
答案 2 :(得分:0)
您可以通过在带有distinct的get方法中将列作为数组传递来获取不同数据。
$myusers = User::distinct()->get(['created_by']);