1
我想通过分页EM linkscount ASC排序...分页雄辩
表页面:
----------------------
id | name
----------------------
1 | Globo
----------------------
2 | Google
----------------------
3 | MC Donalds
----------------------
4 | Habibs
查询第一页结果(订单/查询是OK):
$pages = Mypages::where('pages.author_id', auth()->user()->id)
->orderBy('linkscount', 'desc')
->leftJoin('links', 'links.page_id', '=', 'pages.id')
->selectRaw('pages.*, count(links.id) as linkscount')
->groupBy('pages.id')
->take(2)
->get();
查询进行分页(顺序/查询不是OK):
$pages = Mypages::where('pages.author_id', auth()->user()->id)
->orderBy('linkscount', 'asc')
->leftJoin('links', 'links.page_id', '=', 'pages.id')
->selectRaw('pages.*, count(links.id) as linkscount')
->groupBy('pages.id')
->where('pages.id', '>', $id)
->take(2)
->get();
此查询不返回任何内容,它返回“MC Donalds”...
$ id =最后一个ID显示。
这与真正的SQL查询相差甚远,但是如果您选择所有记录(pages。*)并仅通过pages.id进行分组,则通常会出现SQL错误,因为它们不是无效的列聚合或部分GROUP BY。然后再次,这不是真正的SQL,我不知道这些语言如何处理它。 –
为什么不使用[pagination](https://laravel.com/docs/5.5/pagination)函数,它将为您完成所有这些工作? – aynber
因为我使用雄辩无法识别的查询 –