我用Apigility创建了一个代码连接的API.现在我正在使用标准的创建存根.在我PostResource的方法中有一个叫做的方法fetchAll($params = array()).我为方法创建了代码,以便返回一组可分页的结果:
/** @var HydratorInterface $hydrator */
$hydrator = new \Zend\Stdlib\Hydrator\ClassMethods();
/** @var PostService $postService */
$postService = new PostService();
$posts = $postService->findAll(/* Limit, default 10 */);
$apiData = array();
foreach ($posts as $post) {
$apiData[] = $hydrator->extract($post);
}
return new Paginator(new ArrayAdapter($apiData));
Run Code Online (Sandbox Code Playgroud)
这到目前为止工作正常.如果我导航到API URL,我将获得json我的数据库数据的分页表示.如果我将我的API的页面大小设置为5.它将给我2页和5个结果.到现在为止还挺好.问题是,在每次调用(第1页或第2页)时,将从数据库中提取所有10个结果.它只返回一页5,但10水合等.
有没有办法使用限制,但也让Apigility或分页器知道,总共有多少结果,这样我将得到5行,仍然是分页?