单击按钮时加载更多项目并再次使用相同的foreach,与Laravel分页显示下一页的方式相同.使用 Laravel/J


Loading more items on button click and using the same foreach again, the same way Laravel Pagination shows the next page. Using Laravel/JS

在我的网站上,我有一个新闻页面显示(用于测试目的)5个最新项目。如果数据库中的项目多于当前显示的这 5 个项目,则会出现"加载更多项目"按钮。单击此按钮时,我想从数据库中再加载 5 个项目。

现在获得这些物品不是问题。问题是我想在页面底部添加这些项目,使用与以前的项目相同的方法。我想知道是否有办法在拉拉维尔做到这一点?

例如:在页面的第一次加载中,将显示前 5 个项目,并带有以下 foreach 和 If/else。

    //not the exact code, but you get the idea
    @foreach($items as $item)
      @if($count < $limit && !item->hidden)
        @if(day = today)
          //do something
        @endif
        @if(day = yesterday)
          //do something
        @endif
      @endif
    @endforeach
    @if($count == $items && $moreItemsAvailable)
       <button> Load more news </button>
    @endif

所以现在如果单击"加载更多新闻"按钮,我想从数据库中获取更多新闻(不是问题),并通过再次使用相同的foreach将其添加到页面底部(实际问题)。我已经看到Laravel的标准分页在切换页面时会这样做。

我知道我可以获取数据并将所有 if 和 else 再次放入 Javascript,但这不是很整洁,并且会向页面添加大量代码。如果我能重用完美的代码。

如何根据我的情况执行此操作,因此使用按钮而不是选项卡并将其添加到其底部?

如何

设置一个采用页码(以及您可能需要的任何其他参数)的路由。该路由控制器呈现一个简单的刀片模板,其中仅包含您的@foreach。然后在您的列表页面中,只需在加载后获取 page=1 的 html。(或者我想你可以@include呈现第一条记录的模板。