php - 如何对数据表进行分页以便数据不会在 Laravel 中一起加载?

标签 php laravel

一次加载所有数据会使页面加载速度变慢。有什么方法可以只加载 10 条记录并在用户单击第 2 页之类的情况下加载其他记录吗?

下面是我用来加载所有数据的代码。它工作得很好,但是当我导入 5,000 条记录时,由于加载缓慢,它使页面崩溃并出现错误 500

public function index()
{
    $users = User::all();
    $documents = Receiving::where('draft', '=', 0)->get();

    return view('documents/index', compact('users', 'documents'));
}

当我使用 paginate(); 时,它只会显示 1 页

最佳答案

您应该使用带参数的分页,如下所示:

$documents = Receiving::where('draft', '=', 0)->paginate(20);

在 View 中使用它:

 <div class="pagination">
      {{ $documents->render() }} or {{ $documents->links() }}
 </div>

关于php - 如何对数据表进行分页以便数据不会在 Laravel 中一起加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66541926/

相关文章:

php - MySQL sql查询LIKE获取当前营业时间

php - 使用PHP通过FTP下载文件夹

laravel - 如何使用 Redis 在 Laravel 5.8 中调度异步作业?

mysql - 在 Laravel 5.2 中使用多个 MySQL 数据库连接查询关系是否存在

php - 使用 AJAX 单击类别时如何列出类别的帖子?

php - MySQL 在 PHP 上使用外键显示结果

php - 将 Laravel 资源合并为一个

php - 为什么在使用 PHP cURL 时不需要避免 SSL 检查但可以请求 HTTPS 资源

php - Apache wildcard SSL cert for wildcard vhost and specifically named vhost

php - 意见 : Including multiple views in one view