根据前一项的ID获取数组中的下一项

时间:2016-07-05 13:43:34

标签: php arrays angularjs laravel laravel-5

一些背景信息

我使用AngularJS作为前端框架,使用Laravel作为前端API进行通信。

问题

对于这个应用程序,我有一个“部分”,在视图中有一个next / prev按钮,当单击下一个按钮时,将使用当前部分ID作为参数进行API调用。从此我希望得到数组中的下一个或上一个项目,具体取决于我使用的端点(单击了哪个按钮)。

我如何在PHP / Laravel中解决这个问题,是否有可能或者我应该考虑app / api的结构?

我现在拥有的

所以目前,我所拥有的只是一个'Section'集合:

$sections = Section::orderBy('order', 'DESC')->orderBy('id', 'ASC')->get();

2 个答案:

答案 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,并将其返回到主查询。