【问题标题】:Problems of links generated by Laravel 5 PaginatorLaravel 5 Paginator 生成链接的问题
【发布时间】:2015-04-10 01:31:10
【问题描述】:

我在 Laravel 5 中尝试使用 Paginator 时遇到了一个奇怪的问题。 数据和分页信息已经准备好,但是当我在刀片中调用 $model->render() 时,页面的链接完全错误。

这是控制器中的一些示例代码:

public function index()
{
    $articles = Article::latest('published_at')->paginate(3);
    return view('articles/index')->with('articles',$articles);
}

刀片中的代码:

{!! $articles->render() !!}

最后是路由中的代码:

Route::get('articles',array('as' => 'article-list','uses' => 'ArticleController@index'));

问题是 Laravel 会为不同的页面生成错误的 url,例如:example.com/articles/?page=2,在 ? 之前加上 /。

有一种解决方法可以通过在将数据传递给视图之前调用 setPath() 来更正 url,并且链接现在可以正常工作,如下所示:

$articles = Article::latest('published_at')->paginate(3);
$articles->setPath('articles');
return view('articles/index')->with('articles',$articles);

但是有没有其他选项可以在 Laravel 5 中生成正确的页面链接,而我错过了什么?

谢谢。


环境更新:xampp。

【问题讨论】:

    标签: laravel pagination laravel-5


    【解决方案1】:

    在刀片中使用此代码,

    {!! str_replace('/?', '?', $articles->render()) !!}
    

    此代码生成正确的 url。

    【讨论】:

    • 感谢维诺德的回答。但我想说,就像问题中提到的方法(调用 setPath() )一样,我认为这只是一种解决方法。我真的希望摆脱编写额外的代码来获得与 Laravel 4 中相同的分页链接。但似乎 L5 是故意这样做的。
    猜你喜欢
    • 2015-05-02
    • 2015-08-28
    • 2015-02-27
    • 1970-01-01
    • 2016-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多