laravel - 没有 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);
解决方案
根据我在这里的理解,我会做什么:
1-如果您不能询问 API 的每次调用的限制和偏移量,并且 API 会立即向您提供所有结果,但您想一次显示 50 个,那么我将创建一个 temp_table 并将数据插入其中然后就像它在我自己的数据库中,然后我可以自己排序、限制和抵消。
2- 如果总结果不是那么多(比如少于 500 个),并且您希望用户不会被所有结果一起淹没,并且您想一次向他们展示 50 个结果或一次 20 个结果,您可以通过隐藏元素将所有结果加载到刀片中。(这不是我推荐的,但如果你不想要 temp_table,它会起作用)
推荐阅读
- azure-devops - Azure Devops“您无权将文件附加到当前区域路径中的工作项。”
- python - 使用 Python 解析 XML,键值命名空间
- php - yii2 mongodb - 向现有字段添加注释如何
- r - 如何在数据框的多列中将不同的日期格式转换为单一格式
- matlab - Matlab中序数和连续变量之间的等级相关性
- string - 从字符串数据框中格式化日期
- php - Wordpress Divi 更新不保存
- javascript - 当用户手动输入值时,JavaScript 日期时间最大值/最小值不起作用
- oracle - Oracle SQL - FROM 子句中的 JOIN 顺序会影响性能优化吗?
- kotlin - 如何强制使用协程调用函数?