drzip28288 2017-09-26 09:20
浏览 39
已采纳

Laravel 5.5 Eloquent获得超过1列的独特性

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?

  • 写回答

3条回答 默认 最新

  • dongwopu8210 2017-09-26 14:03
    关注
     $colours = Colours::where('manufacturer_id',"=",$man)
                        ->select('id','description')->groupBy('description')->get();
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?