Laravel集团不工作

时间:2018-05-16 10:17:38

标签: sql laravel

我有表格属性。表格包含以下列:attr_idvalue。 我希望按attr_id创建组记录并防止重复,因为在表中可以是多个attr_id,其中包含:3,2,1 ids。我需要显示按attr_id分组的这些属性的列表。

我该怎么做?

$attrs = Attribute::groupBy('attr_id')->get();

不能正常工作。

错误:

SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'db.attributes.value' which is not functionally dependent on columns

1 个答案:

答案 0 :(得分:0)

我认为你在寻找的是:

$attrs = Attribute::get()->groupBy('attr_id'); 

这将使用Laravel集合https://laravel.com/docs/5.6/collections#method-groupby

中的groupBy()函数

否则你正在使用" group by"错误,因为您必须指定要返回的所有键。您应该阅读哪些分组:https://www.w3schools.com/sql/sql_groupby.asp https://www.tutorialspoint.com/sql/sql-group-by.htm