2015-02-10 7 views
5

Ho incontrato uno strano problema quando ho provato a utilizzare Paginator in Laravel 5. I dati e le informazioni di impaginazione sono stati preparati, ma quando ho chiamato $ model-> render() in blade il i collegamenti alle pagine erano semplicemente sbagliati.Problemi di collegamenti generati da Laravel 5 Paginator

Ecco alcuni esempi di codice nel regolatore:

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

E il codice a lama:

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

Infine il codice rotte:

Route::get('articles',array('as' => 'article-list','uses' => '[email protected]')); 

Il problema è laravel genera url errati a pagine diverse in quanto tali: example.com/articles/?page=2, con aggiunta/prima?.

v'è una soluzione per correggere l'URL chiamando SetPath() prima di passare dati da visualizzare, e legami ora funziona, in questo modo:

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

Ma ci sono altre opzioni per generare link corrette pagine Laravel 5 e ho perso qualcosa?

Grazie.


Aggiornamento sull'ambiente: xampp.

risposta

10

Utilizzare questo codice nel tuo lama,

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

Questo codice genera l'URL corretto.

+1

Grazie per la risposta Vinod. Ma direi che, come l'approccio (chiamando setPath()) menzionato nella domanda, a mio avviso questa è solo una soluzione. Spero davvero di liberarmi della scrittura di codice aggiuntivo per ottenere gli stessi link di paginazione come in Laravel 4. Ma sembra che L5 lo faccia di proposito. – Carter

+0

Segui questo numero: https://github.com/laravel/framework/issues/8231 –