首页 > 解决方案 > Laravel:从带有分页或不带分页的控制器中的索引方法获取数据

问题描述

我正在使用 paginate() 方法在控制器的 index 方法中获取分页数据,但有时我需要整个数据,所以我编写了这样的代码。

public function index(Request $request)
{
    if ($request->page === 'all') {
        $posts = Post::all();
    } else {
        $posts = Post::paginate(10);
    }

    return response([
        'posts' => $posts
    ], Response::HTTP_OK);
}

因此,如果我想获取所有数据,我将页面值发送为all. 如果我想要分页数据,我将页面值发送为integer.

它工作正常,但只是想知道是否还有其他更好的方法可以做到这一点?

标签: laravelpaginationcontroller

解决方案


您可以进一步简化您正在使用的代码。

public function index(Request $request)
{
    $page = $request->page;
    return response([
        'posts' => $page === 'all' ? Post::all() :  Post::paginate($page)
    ], Response::HTTP_OK);
}

推荐阅读