📜  随机记录在 karavel 8 中通过分页获取 (1)

📅  最后修改于: 2023-12-03 15:28:51.592000             🧑  作者: Mango

随机记录在 Karavel 8 中通过分页获取

简介

在此篇文章中,我们将介绍如何在 Karavel 8 中通过分页来随机记录。分页用于分割数据,以便去掉数据量庞大的问题,并将其分为一系列较小的部分。

分页的重要性

分页对于处理数据集非常有用。以下是一些情景:

  • 数据集非常大,难以高效地处理,例如在网站的搜索或商店应用中。
  • 需要防止在同一时间从数据库请求过多的数据。
使用分页查询来获取随机记录

通过使用 paginate 方法,我们可以很容易地从数据库中获得随机记录。

$randomRecords = MyModel::inRandomOrder()->paginate(10);
  • MyModel是你的 Laravel 模型。
  • inRandomOrder 方法用于随机抽取数据,避免重复。可以使用 orderByRaw('RAND()') 来在 MySQL 中进行随机排序。
  • paginate 方法将结果分段,每段结果包含 10 条记录。
返回的数据

返回的数据将是一个包含分页的 LengthAwarePaginator 实例。

Illuminate\Pagination\LengthAwarePaginator {#123
    +total: 11
    +lastPage: 2
    +items: Illuminate\Database\Eloquent\Collection {#1247
        all: [
            App\Models\MyModel {#562
                id: 1,
                ...
            },
            App\Models\MyModel {#136
                id: 2,
                ...
            },
            ...
        ],
    },
    ...
分页链接

要在视图中打印分页链接,可以使用模板。

在模板中,可以使用以下代码:

{{ $randomRecords->links() }}
总结

在本文中,我们介绍了如何在 Karavel 8 中使用分页来获取随机记录。我们希望本文能够帮助你更好地利用分页来优化数据集的处理。