laravel - laravel 5 中的分页产生错误的链接

标签 laravel laravel-5

在用户页面上创建分页时,分页链接不正确,它们在 page=1 之前使用/,因此链接重定向到根目录,但找不到 404。

Controller 方法:

public function getRegister()
{
    $users = User::where("admin", 0)->paginate(3);

    return view('auth.register', compact('users'));
} 

看法
<?php echo $users->render(); ?>

用户页面网址:http://localhost:8080/pal/public/agent/create

分页链接:http://localhost:8080/pal/public/agent/create/?page=1

当点击分页链接浏览器将我重定向到:http://localhost:8080/agent/create?page=3并得到 404 页面未找到

最佳答案

不幸的是,至少就目前而言,这就是 Laravel 5 的工作方式。

为了摆脱那个额外的斜线,你必须在渲染它们之前手动处理分页链接。

您可以:
1) 在您的 Controller 中,在分页器实例上调用 setPath(),如下所示:

public function getRegister()
{
    $users = User::where('admin',0)->paginate(3);
    $users->setPath('your/custom/path');
    return view('your/view')->with('users',$users);
}

接下来在您的 View 中,只需调用 render() ,它就会按预期工作。

或 2) 在 Controller 中不修改任何内容,但在您的 View 中更改链接格式,例如:
{!! str_replace('/?', '?', $users->render()) !!}

您可以引用question我以前养过。

希望这可以帮助!

我仍在寻找更优雅的解决方案,但还没有任何解决方案:(

更新于 2016-05-30

感谢所有的投票。请注意,在 Laravel 5.2 中,您不必再以上述方式破解代码了!您只需在 View 中调用 render() 即可。那太好了,不是吗?

关于laravel - laravel 5 中的分页产生错误的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29835026/

相关文章:

php - 使用现有的迁移表进行 Laravel 单元测试

php - 在 Laravel 上将数百万行数据从一个数据库复制到另一个数据库

php - Laravel 在测试具有许多依赖项的模型之前准备数据库,有没有更好的方法?

拉拉维尔 5.2 : Class 'Intervention\Image\ImageServiceProvider' not found

php - 如何在 Laravel 查询中限制 hasMany 关系的范围

Laravel 在本地 ubuntu 20 中显示空白页

php - Laravel 5.2 - 通过一个提交请求和带有行号的自定义验证消息将 n 行插入数据库

javascript - 我对 vue 中的计算属性感到非常困惑,因为它将数据应用于计算属性而不是渲染?

php - 为什么 Laravel 5 移除了 Cascading Configs

javascript - 无法在 Vue.js 中重用模板