一些背景信息
我使用AngularJS作为前端框架,使用Laravel作为前端API进行通信。
问题
对于这个应用程序,我有一个“部分”,在视图中有一个next / prev按钮,当单击下一个按钮时,将使用当前部分ID作为参数进行API调用。从此我希望得到数组中的下一个或上一个项目,具体取决于我使用的端点(单击了哪个按钮)。
我如何在PHP / Laravel中解决这个问题,是否有可能或者我应该考虑app / api的结构?
我现在拥有的
所以目前,我所拥有的只是一个'Section'集合:
$sections = Section::orderBy('order', 'DESC')->orderBy('id', 'ASC')->get();
答案 0 :(得分:2)
您可以使用Pagination
BigInteger
然后你会得到类似的东西(我转换成json)
$sections = Section::orderBy('order', 'DESC')->orderBy('id', 'ASC')->paginate(2);
return response()->json($sections );
现在使用网址表单“next_page_url”或“prev_page_url”
答案 1 :(得分:0)
使用纯SQL您可以通过以下方式完成下一项。
SELECT *
FROM TABLE_NAME
WHERE COLUMN_ID =
(SELECT min(COLUMN_ID)
FROM TABLE_NAME
WHERE COLUMN_ID > REPLACE_PREVIOUS_ID_HERE)
在上面的查询中,子查询只是找到上一个键之后的下一个COLUMN_ID,并将其返回到主查询。