2015-02-10 57 views
5

當我嘗試在Laravel 5中使用Paginator時遇到了一個奇怪的問題。 數據和分頁信息已準備好,但是當我在刀片中調用$ model-> render()時,指向頁面的鏈接完全錯誤。Laravel 5 Paginator生成的鏈接的問題

以下是在控制器一些示例代碼:

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' => '[email protected]')); 

問題是Laravel生成錯誤的網址,例如: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。

回答

10

使用此代碼在您的刀片,

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

此代碼生成正確的URL。

+1

謝謝你的解答Vinod。但我會說,就像問題中提到的方法(調用setPath())一樣,在我看來這只是一個解決方法。我真的希望擺脫編寫額外的代碼來獲得與Laravel 4相同的分頁鏈接。但是看起來L5故意這樣做。 – Carter 2015-03-25 21:56:28

+0

請關注此問題:https://github.com/laravel/framework/issues/8231 – 2015-05-28 06:49:23