2012-12-20 60 views
2

我對我的數據庫,我通過原始SQL查詢運行了複雜的查詢。不使用zend orm。我想爲我的查詢添加Zend Paginator。Zend Paginator與字符串查詢

從Zend docs,我發現,我需要將所有記錄提供給Zend Paginator適配器,並且他自己製作COUNT()LIMIT

我有這樣的情況:

$sql = 'complicated query'; //LIMIT added "by hand", I'd like to make it automatically via zend_paginator 
$q = $db->fetchAll($sql, array(/*paramteres here*/)); 

現在我的問題是:我應該如何使用Zend的分頁程序進行分頁?我應該使用哪種適配器?這不是可以手動獲取的所有行和使用陣列適配器(見表約50000條記錄)

任何幫助將不勝感激:)

回答

0

您可以使用Zend_Paginator_Adapter_Array但它不是最好的辦法。更好的方法是重寫您的查詢Zend_Db_Select和使用Zend_Paginator_Adapter_DbSelect

+0

正如我寫的,陣列適配器不是一個選項。結果中記錄太多。 – user1919003

+0

使用答案的第二部分然後 – Vadyus

+0

重寫一個查詢到Zend_Db_Select的唯一方法是什麼?查詢非常複雜,將其重寫到Db_select將花費大量時間。 – user1919003