2010-11-20 10 views
4

donc en gros, vous pouvez utiliser zend paginate par ce qui suit:Comment utiliser zend paginez avec requête SQL normale plutôt que Zend_Db_Select

$sql = new Zend_Db_Select($db); 
$sql->from(table); 
$sql->where(zend_db_select_sucks = 1); 

$paginator = Zend_Paginator::factory($sql); 

est-il un moyen d'utiliser paginator tel que vous pouvez définir vous $sql sans utiliser zend_db_select

si juste

$sql = "SELECT * FROM table WHERE zend_db_select_sucks = 1" 

$paginator = Zend_Paginator::factory($sql); 

?

Répondre

7

L'usine de Paginator ne peut-elle pas également transmettre un ensemble de lignes et paginer cela aussi? Je viens d'essayer cela et il semblait fonctionner pour moi (même si je l'habitude d'utiliser Zend_Db_Select)

$db = Zend_Db_Table::getDefaultAdapter(); 
$rowset = $db->query('SELECT * FROM user')->fetchAll(); 
$paginator = Zend_Paginator::factory($rowset); 
0

vous devez envelopper votre chaîne de requête SQL dans de query() avant de passer à autre chose autrement ZF ne sait pas ce que vous dites qu'il

$db = new Application_Model_DbTable_Example(); // if you've created a model for your db 
$select = $db->query("SELECT * FROM table WHERE value='varstring'")->fetchAll; 

et vous pouvez l'envoyer hors de paginator