我想在我的Laravel应用程序中构建无限滚动功能。当用户访问我的页面时,我使用PHP加载前10个项目。
MyModal::skip(0)->take(10)->get()
我确定可以使用
获取下一个项目MyModal::skip(10)->take(10)->get()
但问题是,当我滚动到底部时添加了新的声明。我怎么能告诉Laravel“从ID为X的项目开始给我接下来的10个项目”
我希望你理解我的问题。
答案 0 :(得分:0)
您可以使用这样的方法。您可能有一个路径作为锚链接插入到视图的末尾,并使用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>
希望你能得到这个想法。我在一个项目中使用了相同的想法,但是以时间戳作为参数,它可以完美地工作。