Laravel API 资源分页子数据

Laravel API resource paginate sub data

我正在尝试了解 Laravel API 资源,并想知道如何对我的数据子集使用分页。例如:我有一个书籍模型,return 我可以写的所有可用书籍:

return BookResource::collection(Book::paginate());

这会 return 我拥有的所有书籍,但如果我只想 return 特定作者写的书籍怎么办。例如:

$books = Book::where('author_id', 1)->get();

如何对这些数据进行分页并return通过 BookResource 将其发送给客户端?

在你的控制器中你可以这样做

public function index(Request $request) {
    $books = Book::where('author_id', 1)->paginate();
    return BookResource::collection($books);
}

只需传递参数 page 即可获取您想要的页面 阅读此供您参考

https://laravel.com/docs/9.x/pagination#basic-usage

https://laravel.com/docs/9.x/eloquent-resources#resource-collections