在我的网站上,我有一个新闻页面显示(用于测试目的)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
呈现第一条记录的模板。