在用户页面上创建分页时,分页链接不正确它们在/ = page = 1之前,因此链接重定向到root,找不到404.
控制器方法:
public function getRegister()
{
$users = User::where("admin", 0)->paginate(3);
return view('auth.register', compact('users'));
}
Run Code Online (Sandbox Code Playgroud)
视图
<?php echo $users->render(); ?>
Run Code Online (Sandbox Code Playgroud)
用户页面网址:http:// localhost:8080/pal/public/agent/create
分页链接:http:// localhost:8080/pal/public/agent/create /?page = 1
点击分页链接时,浏览器会将我重定向到:http:// localhost:8080/agent/create?page = 3并获得404页面未找到
Car*_*ter 21
不幸的是,至少就目前来说,Laravel 5是如何工作的.
要删除那个额外的斜杠,你必须在渲染之前手动处理分页链接.
您可以:1)在您的控制器中,在paginator实例上调用setPath(),如下所示:
public function getRegister()
{
$users = User::where('admin',0)->paginate(3);
$users->setPath('your/custom/path');
return view('your/view')->with('users',$users);
}
Run Code Online (Sandbox Code Playgroud)
接下来在您的视图中,只需调用render(),它应该按预期工作.
或2)在控制器中修改任何内容但在视图中更改链接格式,例如:
{!! str_replace('/?', '?', $users->render()) !!}
Run Code Online (Sandbox Code Playgroud)
你可以参考我之前提出的问题.
希望这可以帮助!
我仍在寻找更优雅的解决方案,但尚未得到任何:(
更新于2016-05-30
感谢所有的选票.请注意,在Laravel 5.2中,您不必再以上述方式破解代码了!在视图中调用render()就是您需要做的.那很好,不是吗?
我喜欢卡特的回答,我更喜欢使用 setPath 的第一个建议。将“setPath”设置为空字符串对我有用。:)
$users->setPath('');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6985 次 |
| 最近记录: |