2016-03-01 53 views
0

我有,我想,以填补从我的数据库物品的容器,例如每行都有这些列:多Laravel 5个在同一页内Paginations

$item->title 
$item->description 
$item->color 
$item->id 

我有一个main-container并在那儿要循环我的所有物品,但一次只有5个。我知道我可以拥有所有这些,但我真的希望没有滚动。

我知道整个页面,您只需用->paginate(x);替换->get();,其中x是您希望每页显示的项目数。

但我也有一个secondary-container,我通过很多其他的项目要循环,但我不知道如何实现第二个,因为main-container将工作当URL扩展?page=x其中x是第n大量的项目迭代。

我是否能有一个自定义get URL请求(不知道这个术语,纠正我,如果我错了)和我secondary-container这样做?page2=x

我搜索了周围,但不知道如何把我的问题放入一个小的答案,结果并没有帮助。先谢谢你。

+0

下面的答案有帮助吗? – jszobody

+0

我睡着了,我很快就会尝试你的,谢谢你的回答! @jszobody –

回答

2

如果你看一下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将设置页面。

+0

谢谢!工作完美:) –