Php 如何在普通sql查询中使用zend paginate而不是zend_db_select
因此,基本上您可以通过以下方式使用Php 如何在普通sql查询中使用zend paginate而不是zend_db_select,php,mysql,zend-framework,zend-paginator,Php,Mysql,Zend Framework,Zend Paginator,因此,基本上您可以通过以下方式使用zendpaginate: $sql = new Zend_Db_Select($db); $sql->from(table); $sql->where(zend_db_select_sucks = 1); $paginator = Zend_Paginator::factory($sql); 是否有一种使用paginator的方法,使您可以自己设置$sql,而无需使用zend\u db\u select 那就 $sql = "SELECT *
zend
paginate:
$sql = new Zend_Db_Select($db);
$sql->from(table);
$sql->where(zend_db_select_sucks = 1);
$paginator = Zend_Paginator::factory($sql);
是否有一种使用paginator的方法,使您可以自己设置$sql
,而无需使用zend\u db\u select
那就
$sql = "SELECT * FROM table WHERE zend_db_select_sucks = 1"
$paginator = Zend_Paginator::factory($sql);
?分页器工厂的目的不是也可以向它传递一个行集,并且它也会分页吗?我只是尝试了一下,它似乎对我有效(尽管我通常使用Zend_Db_Select)
在将SQL查询字符串传递给任何其他对象之前,必须将其包装在
query()
中,否则ZF不知道您在告诉它什么
$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;
然后你可以把它寄给paginator
$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;