首页 > 解决方案 > 我的自定义 laravel 分页方法的特征/范围

问题描述

我想为 vue 和 laravel 实现我自己的分页,而不是像 laravel 那样使用 get,我想使用来自我的自定义 vue 分页组件的 POST ajax 请求。

为此,我想实现类似于可以应用于我的 Eloquent 模型的范围的东西,我希望该范围返回数据库中我的模型的记录总数以及特定数量的记录。

有了这两个数据,我可以补充我的分页组件,因为我不确定如何处理这个(使用 Trait?,一个范围?,返回 JSON?或者可能是集合?)我把我的伪代码留在下面:

public function scopeGetPaginate($query, $perPage)
    {

        $pageResults = $query->take($perPage)->get();

        $totalResults = Model::count();

        return response()->json([
            'pageResults' => $pageResults,
            'totalResults' => totalResults,
        ], 200);
    }

标签: phplaravel

解决方案


我不明白你为什么要实现自定义分页而不是使用 Laravel Paginate option.like this

$users = User::where('votes', '>', 100)->paginate(15);

Laravel 分页文档

但是,如果你真的想创建自定义分页,你可以参考 Laravel Pagination Api 来了解分页类。

Laravel 分页器 API 参考


推荐阅读