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
因爲我使用雄辯無法識別的查詢 –