我想对vue和laravel实现自己的分页,而不是像laravel那样使用get,而是要使用自定义vue分页组件中的POST ajax请求。
为此,我希望实现与适用于我的Eloquent模型的范围类似的东西,我希望该范围返回数据库中我模型中的记录总数以及特定数量的记录。
有了这两个数据,我就可以充实我的分页组件了,因为我不确定如何处理(使用Trait ?、一个作用域?,返回JSON?或可能是collection?),所以我的伪代码如下:>
public function scopeGetPaginate($query, $perPage)
{
$pageResults = $query->take($perPage)->get();
$totalResults = Model::count();
return response()->json([
'pageResults' => $pageResults,
'totalResults' => totalResults,
], 200);
}
答案 0 :(得分:0)
我不明白您为什么要实现自定义分页而不是使用Laravel分页选项。
$users = User::where('votes', '>', 100)->paginate(15);
但是,如果您真的想创建自定义分页,则可以参考Laravel Pagination Api以获得有关分页类的想法。