所以基本上你可以通过以下方式使用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_db_select
所以只是
$sql = "SELECT * FROM table WHERE zend_db_select_sucks = 1"
$paginator = Zend_Paginator::factory($sql);
答案 0 :(得分:7)
Paginator工厂的重点是你也可以将它传给一个行集,它也会分页吗?我刚试了这个,它似乎适合我(即使我通常使用Zend_Db_Select)
$db = Zend_Db_Table::getDefaultAdapter();
$rowset = $db->query('SELECT * FROM user')->fetchAll();
$paginator = Zend_Paginator::factory($rowset);
答案 1 :(得分:0)
你必须将你的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