Laravel: 如何通过添加项目编号来扩展默认分页器?
Laravel: How to extend default paginator by adding the item number?
我正在尝试在具有分页的 table 中添加商品编号:
The table
为此,我在控制器中放置了一个 'offset' 并将其发送回视图:paginationOffset
它有效,但我正在尝试重构控制器中的代码以避免重复。我看到一些示例将宏添加到 Support\Collection
并手动实例化 LengthAwarePaginator
。尝试过,但无法使用 'offset'.
你如何建议在不将逻辑放在视图上的情况下重构它?
谢谢!
paginator 不仅仅是传回记录,它还带有许多辅助方法。
您可以在 Laravel 文档中查看它们 https://laravel.com/docs/7.x/pagination#paginator-instance-methods
例如,您可以使用 $results->firstItem()
哪个会 'Get the result number of the first item in the results.'
它带有许多开箱即用的变量:-
{
"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":[
{
// Result Object
},
{
// Result Object
}
]
}
我正在尝试在具有分页的 table 中添加商品编号: The table
为此,我在控制器中放置了一个 'offset' 并将其发送回视图:paginationOffset
它有效,但我正在尝试重构控制器中的代码以避免重复。我看到一些示例将宏添加到 Support\Collection
并手动实例化 LengthAwarePaginator
。尝试过,但无法使用 'offset'.
你如何建议在不将逻辑放在视图上的情况下重构它?
谢谢!
paginator 不仅仅是传回记录,它还带有许多辅助方法。
您可以在 Laravel 文档中查看它们 https://laravel.com/docs/7.x/pagination#paginator-instance-methods
例如,您可以使用 $results->firstItem()
哪个会 'Get the result number of the first item in the results.'
它带有许多开箱即用的变量:-
{
"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":[
{
// Result Object
},
{
// Result Object
}
]
}