2011-07-19 13 views
0

我正在构建一个仅通过其参数接收Zend_Db_Rowset的类,并且我可以使用$rowset->getTable()方法提取相关的Zend_Db_Table通过Zend_Db_Rowset提取查询零件

我想知道是否有办法从表中取回order声明,因为我可以通过转储设置它(作为私有属性)。

object(Application_Model_DbTable_View_Formation)#107 (18) { 
... 
    ["_rows":protected] => array(4) { 
     [0] => array(3) { 
     [0] => string(7) "0.04095" 
     [1] => string(20) "DESCRIBE `formation`" 
     [2] => NULL 
     } 
     [1] => array(3) { 
     [0] => string(7) "0.00047" 
     [1] => string(67) "SELECT `formation`.* FROM `formation` ORDER BY `date` desc LIMIT 30" 
     [2] => NULL 
     } 
     [2] => array(3) { 
     [0] => string(7) "0.02031" 
     [1] => string(22) "DESCRIBE `v_formation`" 
     [2] => NULL 
     } 
     [3] => array(3) { 
     [0] => string(7) "0.02285" 
     [1] => string(135) "SELECT `v_formation`.* FROM `v_formation` WHERE (date >= '2011-01-01 12:00:00') AND (date <= '2011-12-31 11:59:59') ORDER BY `date` ASC" 
     [2] => NULL 
     } 
    } 
    ... 
} 
+0

这是分析器存储并与db连接。它的内容与当前行或行集没有任何关系,所以你只能猜测你的结果是哪个查询。 如果你真的很想让这个查询存储在你的行或行集中的某处,那么你可以扩展Zend_Db_Table和/或Zend_Db(不能告诉现在哪一个),但这需要很多工作,技巧和很好Zend_Db组件和OOP知识。 – Diabl0

回答

2

你看到的是Zend_Db_Profiler数据。这与实际的行集没有关系。我认为你无法获得创建该行集的选择。

严格说到表格的顺序。你无法接收它本身。您只能使用公开$table->select()->order('id DESC');方法创建订单选择。

+0

谢谢,花时间回答 –