从 laravel 上的数据库统计数据

Count data from database on laravel

在 php 我可以使用此代码来获取我的商品数据库中的商品数量

$total = 0;
$sql = "select count(*) as total from goods";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        $total = $row['total'];
    }
}
echo $total;
// example return 5

我可以在 laravel 上这样做吗?如果我在我的控制器上使用此代码

function show(Request $request){
    $c = DB::select("SELECT count(*) as total FROM goods");
    if($c > 0 ): a ? b;
}

它会收到错误消息,因为它会在数组中 return JSON。有没有更好的方法来做到这一点?或者如何从 $c inside controller

中获取总数

使用了laravelAggregates方法count方法

$count = DB::table('goods')->count();

if($count > 0) {
     //more than one raw
}else {
     //zero raw
}

eloquent

更干净
$c=goods::all()->count();

由于上面会拉取所有的集合和计数,更高效的方式是

$c=goods::where('value',$val)->get()->count();

您可以像这样使用 count() 函数:

$count = DB::table('goods')->count();

您还可以在 良好 模型上使用 Laravel Eloquent,如下所示:

$count = Good::count();
$count = DB::table('goods')->count();

请参考link