我有一个容器,我想用我的数据库填充项目,比如说每一行都有这些列:
$item->title
$item->description
$item->color
$item->id
我有一个main-container
,我想在我的所有项目中循环,但一次只有5个。我知道我可以拥有所有这些,但我真的希望没有滚动。
我知道在整个页面中您只需将->get();
替换为->paginate(x);
,其中x
是您希望每页显示的项目数。
但是我还有一个secondary-container
我想在其他项目中循环,但我不知道如何实现第二个项目,因为main-container
可以在url扩展?page=x
,其中x是迭代的第n个项目块。
我是否可以拥有自定义get
网址请求(不确定该字词,如果我错了,请更正我)并为?page2=x
执行secondary-container
之类的操作}?
我搜索了周围但是我不知道如何将我的问题写成一个小答案,结果并没有用。提前谢谢。
答案 0 :(得分:3)
如果你看一下paginate
方法:
https://github.com/laravel/framework/blob/5.2/src/Illuminate/Database/Eloquent/Builder.php#L429
您看到它接受$pageName
变量,该变量告诉它使用哪个请求变量。
所以你可以这样做:
MyModel::where(...)->paginate(20, ['*'], 'fooPage');
Laravel将使用$request->fooPage
作为页面变量。
或者,你可以看到paginate方法也允许你只是明确地传递页面变量本身作为第四个参数:
MyModel::where(...)->paginate(20, ['*'], null, $request->myPageVar);
现在GET变量?myPageVar=1
将设置页面。