如何计算Laravel中分组集合中的项目数?

问题描述

请我要计算每个分组集合中的项目数。假设该集合返回了三个组项目,我想计算每个组中的集合

我这样做了,但是对我来说没用

$collection = vendor::all();
$grouped = $collection->groupBy('vendor_discount');
$counted = $grouped->countBy();
return $counted->all();

这是错误重新出现

array_key_exists():第一个参数应该是字符串或整数

这样做

$user_info = DB::table('vendors')
                 ->select('vendor_discount',DB::raw('count(*) as total'))
                 ->groupBy('vendor_discount')
                 ->get();

这是结果

0: {vendor_discount: null,total: 1}
total: 1
vendor_discount: null
1: {vendor_discount: "10%",total: 2}
total: 2
vendor_discount: "10%"
2: {vendor_discount: "20%",total: 2}
total: 2
vendor_discount: "20%"

如何正确显示在视图模板中?

解决方法

您的查询

$user_info = DB::table('vendors')
                 ->select('vendor_discount',DB::raw('count(*) as total'))
                 ->groupBy('vendor_discount')
                 ->get()->toArray();

return $user_info;

然后在视图文件中

//Loop through the values
foreach($user_info as $user){
    echo $user->vendor_discount." - ".$user->total;
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...