首页 > 解决方案 > 没有 Eloquent 的 Laravel 5.8 分页

问题描述

我需要自定义分页,但就我而言,我不使用 eloquent 来获取数据。我使用一个 API 来获取数据。

我一直在处理分页类,但据我所知,它需要一个集合并对其进行分页。那不是我需要的。

我需要的是根据搜索查询获得的记录子集创建分页对象。假设这样的查询总共有 10000 条记录,而我只得到一个包含 50 个项目的数组,所以每个分页有 50 个元素。所以,我需要根据这些信息创建分页链接。

有没有办法实现它?

编辑

$models = array('total'          => $n_results,
                'per_page'      => 30,
                'current_page'  => 1,
                'last_page'     => ceil($n_results/30),
                'next_page'     => "******",
                'prev_page'     => "******",
                'from'          => 1,
                'to'            => 30,
                'data'          => $items);

标签: laravelpagination

解决方案


根据我在这里的理解,我会做什么:

1-如果您不能询问 API 的每次调用的限制和偏移量,并且 API 会立即向您提供所有结果,但您想一次显示 50 个,那么我将创建一个 temp_table 并将数据插入其中然后就像它在我自己的数据库中,然后我可以自己排序、限制和抵消。

2- 如果总结果不是那么多(比如少于 500 个),并且您希望用户不会被所有结果一起淹没,并且您想一次向他们展示 50 个结果或一次 20 个结果,您可以通过隐藏元素将所有结果加载到刀片中。(这不是我推荐的,但如果你不想要 temp_table,它会起作用)


推荐阅读