我对分页结果有以下疑问:
请求:
GET http://localhost:1000/api/v1/public/blog/articles
响应:
{
"current_page": 1,
"data": [
{
"article_id": 43
},
{
"article_id": 107
},
{
"article_id": 171
},
{
"article_id": 22
},
{
"article_id": 86
},
{
"article_id": 150
},
{
"article_id": 1
},
{
"article_id": 65
},
{
"article_id": 129
},
{
"article_id": 44
}
],
"first_page_url": "http://localhost:1000/api/v1/public/blog/articles?page=1",
"from": 1,
"last_page": 18,
"last_page_url": "http://localhost:1000/api/v1/public/blog/articles?page=18",
"next_page_url": "http://localhost:1000/api/v1/public/blog/articles?page=2",
"path": "http://localhost:1000/api/v1/public/blog/articles",
"per_page": "10",
"prev_page_url": null,
"to": 10,
"total": 179
}
因此,现在,如果我在同一链接中再次请求,它将显示一组具有不同ID的不同文章。 另外,如果我转到page = 1或page = 2,则每一页的结果都是不稳定的。
我不确定发生此问题的地方, 我想提一下,我其他的分页查询都可以正常工作,除非我尝试合并查询以获取特定结果,如下所示:
$query = DB::query();
// Then Concatenating other queries based on options
// Now Execute The Whole Query
$fetched_articles = $query->paginate(5);
如果有人可以在此处用解决方案或解决方法描述分页器流程,那将是有帮助的。
预先感谢!
答案 0 :(得分:0)
根据Laravel文档
当前,使用groupBy语句的分页操作无法 由Laravel有效执行。如果您需要使用groupBy 分页结果集,建议您查询数据库 并手动创建一个分页器。
因此,如果您想分页,则不能在查询中使用groupBy
。
顺便说一句,您可以尝试使用此blog post,也许它会为您服务。