2013-06-30 13 views
5

Sto provando a "ricordare" la pagina in cui si trovava l'utente mentre naviga tra i record in modo tale che quando torna all'elenco, viene reindirizzato alla pagina da cui è stato interrotto.Specificare una pagina per l'impaginazione - Laravel 4

Come si modifica il valore della "pagina corrente" per paginator?

Ho provato Input :: set ('page', $ x); ma non esiste una tale funzione. $ _GET ['page'] = $ x; non funziona anche

questo codice:

$list = Publication::orderBy($this->data['sort_by'], $this->data['order_by']); 

foreach ($this->data['filter_data'] AS $field => $value) { 
    $list->where($field, 'LIKE', "%$value%"); 
} 

$this->data['list'] = $list->paginate(15); 

risposta

4

è possibile regolare la pagina dell'ambiente impaginazione attraverso la connessione DB.

DB::getPaginator()->setCurrentPage(2); 

Non completamente sicuro, ma si potrebbe essere in grado di passare attraverso il modello con qualcosa di simile.

Publication::getConnection()->setCurrentPage(2); 

Se quanto sopra non funziona (come sembra dal tuo commento), allora fatelo con un'istanza di Publication.

$publication = new Publication; 

$publication->getConnection()->setCurrentPage(2); 

$list = $publication->orderBy(...); 
+0

Entrambi non ha funzionato, ottengo un errore "Call to metodo non definito" e un "metodo xxx non statico :: getConnection() dovrebbe non essere chiamato staticamente, ipotizzando $ this from incompatible context "errore – wyred

+1

Woops, risposta aggiornata. Questo dovrebbe essere stato 'DB :: getPaginator() -> setCurrentPage();' –

+0

Funziona, grazie! – wyred

0

Prova

$pager->setCurrentPage(2); 
+0

sto usando Eloquente, ma sembra che questo metodo non esiste – wyred

21

ho guardato l'API --- scopre questo è molto più facile ora nel 2014.

Tutto quello che dovete fare è impostare

Paginator::setCurrentPage(2); 

qualsiasi momento prima di chiamare ->paginate(), Credo, e dovrebbe ignorare il set di pagine (o non impostare) per ?page=.

+1

Questa dovrebbe essere una risposta accettata;) –