Mysql 拉威尔无休止的滚动

Mysql 拉威尔无休止的滚动,mysql,laravel,Mysql,Laravel,我想在我的Laravel应用程序中建立一个无休止的滚动功能。当用户访问我的页面时,我用PHP加载前10项 MyModal::skip(0)->take(10)->get() 当然,我可以得到下一个项目与 MyModal::skip(10)->take(10)->get() 但问题是,当我滚动到底部时添加了新条目。我怎样才能告诉Laravel“从ID为X的项目开始,给我接下来的10个项目” 我希望你能理解我的问题。你可以使用这样的方法。您可能有一个路由,它作为锚定链接插

我想在我的Laravel应用程序中建立一个无休止的滚动功能。当用户访问我的页面时,我用PHP加载前10项

MyModal::skip(0)->take(10)->get()
当然,我可以得到下一个项目与

MyModal::skip(10)->take(10)->get()
但问题是,当我滚动到底部时添加了新条目。我怎样才能告诉Laravel“从ID为X的项目开始,给我接下来的10个项目”


我希望你能理解我的问题。

你可以使用这样的方法。您可能有一个路由,它作为锚定链接插入到视图的末尾,并使用AJAX调用接下来的10个结果

所以,路线应该是这样的:

Route::get('/mymodal/{skip?}', 'MyModalController@nextItems');
这将调用控制器,并可能跳过某些项目。然后,下一个跳过值将与结果一起发送到视图

public function nextItems(Request $request, $skip = 0) {
    $results = MyModal::skip($skip)->take(10)->get();
    return view('mymodals.theview', [
            'results' => $results,
            'skip' => $skip + 10
    ]);
}
然后,在视图中,将跳过值添加到锚点:

@foreach ($results as $r)
    (...)
@endforeach

<a href="{{action('MyModalController@nextItems', $skip)}}">Next page...</a>
@foreach($r作为结果)
(...)
@endforeach

希望你能明白。我在一个项目中使用了相同的想法,但是使用时间戳作为参数,它工作得非常完美。

您可以使用这样的方法。您可能有一个路由,它作为锚定链接插入到视图的末尾,并使用AJAX调用接下来的10个结果

所以,路线应该是这样的:

Route::get('/mymodal/{skip?}', 'MyModalController@nextItems');
这将调用控制器,并可能跳过某些项目。然后,下一个跳过值将与结果一起发送到视图

public function nextItems(Request $request, $skip = 0) {
    $results = MyModal::skip($skip)->take(10)->get();
    return view('mymodals.theview', [
            'results' => $results,
            'skip' => $skip + 10
    ]);
}
然后,在视图中,将跳过值添加到锚点:

@foreach ($results as $r)
    (...)
@endforeach

<a href="{{action('MyModalController@nextItems', $skip)}}">Next page...</a>
@foreach($r作为结果)
(...)
@endforeach

希望你能明白。我在一个项目中使用了相同的想法,但使用时间戳作为参数,它工作得非常完美。

您是否尝试过分页?在请求下一个项目时,您还可以发送
第一个id
(因此,即使在过程中添加了新项目)使用分页从列表和查询大于该id的项目…这就是我的方法您是否尝试过分页?请求下一个项目时,您还可以发送
第一个id
(因此,即使在过程中添加了新项目)使用分页从大于该id的列表和查询项中删除…这就是我的方法