3

在 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;
}

它会收到错误消息,因为它会在数组中返回 JSON。有没有更好的方法来做到这一点?或者如何从控制器内部的 $c 中获取该总数

4

4 回答 4

8

使用 laravel聚合方法 count方法

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

if($count > 0) {
     //more than one raw
}else {
     //zero raw
}
于 2019-01-29T06:47:40.400 回答
2

您可以使用count()这样的功能:

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

你也可以像这样在Good模型上使用 Laravel Eloquent :

$count = Good::count();
于 2019-01-29T07:24:19.930 回答
0
$count = DB::table('goods')->count();

请参考链接

于 2020-08-06T12:30:55.050 回答
-2

它更干净,雄辩

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

由于以上将提取所有收集和计数,因此更有效的方法是

$c=goods::where('value',$val)->get()->count();
于 2019-01-29T07:20:14.743 回答