2013-06-06 10 views
6

Il mio codicecome impostare limite massimo per l'impaginazione in CakePHP

$this->paginate=array(
      'conditions' =>array('OrderDetail.order_id'=>$id), 
      'maxLimit' => 500)); 

$this->paginate=array(
      'conditions' =>array('OrderDetail.order_id'=>$id), 
      'limit' => 500)); 

Entrambi risultato mi dà 100 record max tu ho impostato limite di 500, come se ho impostato 500 ho bisogno di 500 record .! Qualunque corpo può aiutarmi su questo?

+0

Secondo la documentazione (http://book.cakephp.org/2.0/en/core-libraries/components/pagination.html#limit-the-maximum-number-of-rows-that-can-be- scaricata), maxLimit e limit sono entrambi corretti. Ma è necessario che entrambi nella stessa query lavorino mentre fanno cose diverse. – mark

risposta

11

Se ci pensate: è necessario combinarli.

public $paginate = array(
    // other keys here. 
    'maxLimit' => 500, 
    'limit' => 500 
); 

è necessario aumentare prima il MAXLIMIT al limite assoluto che si desidera consentire. Quindi puoi impostare il limite su qualsiasi valore fino a questo punto. Solo l'impostazione di uno di essi non modifica nulla (logicamente).

+0

Grazie "segno" ma non ha funzionato per me .. !! –

+1

Devi essere più specifico e aggiornare la tua domanda sopra con il tuo codice di esempio completo. – mark

+0

ha funzionato per me, grazie mille –

0

Set limite paginator a vuoto

$this->Paginator->settings = array('limit' => ''); 

Ora paginator troverà tutti i record dalla tabella

+0

Funziona, ma genera: Avviso (2): divisione per zero [CORE/Cake/Controller/Component/PaginatorComponent.php, riga 214] – Naidim

+1

@Naidim Se si desidera elencare tutti i record non è necessario utilizzare Paginator a tutto come Paginator viene utilizzato solo per mostrare il numero selezionato di record e altri verranno elencati solo se chiamati con l'aiuto del paging. –

+0

Duh! Grazie! Rimani così perso tra gli alberi, dimentica di fare un passo indietro per vedere la foresta. – Naidim

0
$this->Paginator->settings = array('limit' => '-1'); 

Aggiungi questo inizio della vostra funzione e sarà ottenere tutti i dati senza alcun errore.

Problemi correlati