Php 获取分页结果的总数

Php 获取分页结果的总数,php,laravel,pagination,Php,Laravel,Pagination,我想在列出所有用户的页面上获取用户总数。此页应分页 到目前为止,我的想法是: 控制器 $users = User::paginate(10); return View::make('index', compact('users')); $products = ProductMaster::paginate(10); //1 page with 10 products return view('index',compact('products')); $users = User::pagin

我想在列出所有用户的页面上获取用户总数。此页应分页

到目前为止,我的想法是:

控制器

$users = User::paginate(10);
return View::make('index', compact('users'));
$products = ProductMaster::paginate(10); //1 page with 10 products

return view('index',compact('products'));
$users = User::paginate(10); //1 page with 10 products
return view('users', compact("users"));
视图:

但这只提供了当前页面的用户数。我想计算完整的结果集,如果可能的话,无需再次查询数据库。

在Laravel 4中使用:

{{ $users->getTotal() }}


在Laravel 5及以上版本中,使用:

{{ $users->total() }}
控制器

$users = User::paginate(10);
return View::make('index', compact('users'));
$products = ProductMaster::paginate(10); //1 page with 10 products

return view('index',compact('products'));
$users = User::paginate(10); //1 page with 10 products
return view('users', compact("users"));
看法


获取所有项目的总计

$paginator->total()
确定数据存储中匹配项的总数。(使用simplePaginate时不可用)

获取当前页面总数

$paginator->count()
获取当前页面的项数

示例

控制器

$users = User::paginate(10);
return View::make('index', compact('users'));
$products = ProductMaster::paginate(10); //1 page with 10 products

return view('index',compact('products'));
$users = User::paginate(10); //1 page with 10 products
return view('users', compact("users"));
视图:


在Laravel 8x上,此数据也会在响应中返回

来自paginator的JSON将包括元信息,如总计、当前页面、最后页面等。结果记录可通过JSON数组中的数据键获得。以下是通过从路由返回paginator实例创建的JSON示例:

{
   "total": 50,
   "per_page": 15,
   "current_page": 1,
   "last_page": 4,
   "first_page_url": "http://laravel.app?page=1",
   "last_page_url": "http://laravel.app?page=4",
   "next_page_url": "http://laravel.app?page=2",
   "prev_page_url": null,
   "path": "http://laravel.app",
   "from": 1,
   "to": 15,
   "data":[
        {
            // Record...
        },
        {
            // Record...
        }
   ]
}

你为什么不接受我的回答?如果有些东西不工作,请告诉我,这样我可以帮助你:)哦,对不起,我一定是在未刷新的页面上再次单击了接受图标。它工作得很好!当用一个被接受的答案为一个五年的问题添加答案时,指出你的答案所针对的问题的新方面是很重要的。