Ciao a tutti, ho provato a cercare sul forum anche nelle risposte in inglese ma non sono riuscito a comprendere il funzionamento del 'criteria' associato ad un CActiveDataProvider.
Questo è il mio codice:
$dpSlider=new CActiveDataProvider('Film',array(
'criteria'=>array(
'order'=>"rand()",
'limit'=>5,
),
));
Io voglio ottenere solo 5 film a caso quando nella tabella ce ne sono 100.
Io da qui mi aspetterei che il che $dpSlider->itemCount valga 5.
Invece mi restituisce 10 - come mai?
Se qualcuno sa darmi una risposta lo ringrazio da subito.
Fabio
Page 1 of 1
Come funziona 'limit' nel CDbCriteria?
#2
Posted 30 April 2011 - 04:25 PM
Ciao falexio,
con l'occasione della tua richiesta mi sono informato e ti raccondo quanto sono riuscito a capire.
Il "problema" da te descritto è stato più volte segnalato (guarda questo link). Purtroppo, al momento, non verrà 'Fixato', quindi bisogna trovare un'alternativa.
Un workaround è quello di disattivare il 'pagination', in questo modo:
Così si perde però la funzionalità di 'pagination'
Un'altra alternativa sarebbe quella di creare una vista che contenga la limitazione a 5 record e puntare questa.
Spero di esserti stato utile.
con l'occasione della tua richiesta mi sono informato e ti raccondo quanto sono riuscito a capire.
Il "problema" da te descritto è stato più volte segnalato (guarda questo link). Purtroppo, al momento, non verrà 'Fixato', quindi bisogna trovare un'alternativa.
Un workaround è quello di disattivare il 'pagination', in questo modo:
$dpSlider=new CActiveDataProvider('Film',array(
'criteria'=>array(
'order'=>"rand()",
'limit'=>5,
),
'pagination'=>false,
));
Così si perde però la funzionalità di 'pagination'
Un'altra alternativa sarebbe quella di creare una vista che contenga la limitazione a 5 record e puntare questa.
Spero di esserti stato utile.
#3
Posted 01 May 2011 - 02:58 AM
Se servono soltanto 5 film, la paginazione non serve 
Se si vuole anche la paginazione puoi settare ili limit della paginazione invece dell CDbCriteria
Il limit dell CPagination - http://www.yiiframew...on#limit-detail
Ed e da qui che vengono i 10 record di default - http://www.yiiframew...pageSize-detail
Se si vuole anche la paginazione puoi settare ili limit della paginazione invece dell CDbCriteria
Il limit dell CPagination - http://www.yiiframew...on#limit-detail
Ed e da qui che vengono i 10 record di default - http://www.yiiframew...pageSize-detail
Find more about me.... btw. Do you know your WAN IP?
#4
Posted 01 May 2011 - 03:39 AM
come si fà ad impostare il limit di CPagination?
ho provato ad impostarlo con limit=>5 ma è read-only.
ho provato ad impostarlo con limit=>5 ma è read-only.
#5
Posted 02 May 2011 - 03:58 AM
Vi ringrazio per la risposta.
Non ero riuscito a darmi una risposta valida.
Nel caso in questione andrà benissimo una vista limitata a 5. La domanda l'avevo posta proprio per comprendere il funzionamento in quanto siccome sono proprio neofita di questo Framework cerco di non lanciarmi subito nelle soluzioni fai da te ma quando sbatto su un problema lo sfrutto per cercare di comprendere meglio il funzionamento.
Grazie
Saluti
Non ero riuscito a darmi una risposta valida.
Nel caso in questione andrà benissimo una vista limitata a 5. La domanda l'avevo posta proprio per comprendere il funzionamento in quanto siccome sono proprio neofita di questo Framework cerco di non lanciarmi subito nelle soluzioni fai da te ma quando sbatto su un problema lo sfrutto per cercare di comprendere meglio il funzionamento.
Grazie
Saluti
#6
Posted 02 May 2011 - 04:12 AM
dchan, on 01 May 2011 - 03:39 AM, said:
come si fà ad impostare il limit di CPagination?
ho provato ad impostarlo con limit=>5 ma è read-only.
ho provato ad impostarlo con limit=>5 ma è read-only.
si... limit e read-only... si deve usare pageSize
Find more about me.... btw. Do you know your WAN IP?
Share this topic:
Page 1 of 1

Help











