在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中获得总计
答案 0 :(得分:1)
使用过的laravel Aggregates方法count
方法
$count = DB::table('goods')->count();
if($count > 0) {
//more than one raw
}else {
//zero raw
}
答案 1 :(得分:1)
您可以像这样使用count()
函数:
$count = DB::table('goods')->count();
您也可以在 Good 模型上使用Laravel Eloquent,例如:
$count = Good::all()->count();
答案 2 :(得分:0)
口气更干净
$c=goods::all()->count();
由于上述操作将拉动所有收集和计数,所以更有效的方法是
$c=goods::where('value',$val)->get()->count();
答案 3 :(得分:0)
$count = DB::table('goods')->count();
请参阅link