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
        }
   ]
}