Laravel无休止的滚动

时间:2017-08-09 17:46:51

标签: mysql laravel

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

MyModal::skip(0)->take(10)->get()

我确定可以使用

获取下一个项目
MyModal::skip(10)->take(10)->get()

但问题是,当我滚动到底部时添加了新的声明。我怎么能告诉Laravel“从ID为X的项目开始给我接下来的10个项目”

我希望你理解我的问题。

1 个答案:

答案 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>

希望你能得到这个想法。我在一个项目中使用了相同的想法,但是以时间戳作为参数,它可以完美地工作。

相关问题