使用Zend_Db_Table_Abstract限制查询返回列

时间:2012-03-25 13:59:24

标签: php mysql zend-framework

如何在使用 Zend_Db_Table_Abstract 时将查询限制为特定列?

(下面的getDbTable()返回一个Zend_Db_Table_Abstract对象)

$resultSet = $this->getDbTable()->fetchAll(
       $this->getDbTable()->select()
        ->where('forgienKey = \'' . $forgienKey . '\'')
        ->order("'id' ASC")
    );

我只需要返回id列,但返回整行。谢谢你的帮助!

2 个答案:

答案 0 :(得分:3)

the docs中所述:

$select = $table->select();
$select->from($table, array('bug_id', 'bug_description'))
       ->where('bug_status = ?', 'NEW');

$rows = $table->fetchAll($select);

所以,对你来说:

$resultSet = $this->getDbTable()->fetchAll(
       $this->getDbTable()->select()
        ->from($this->getDbTable(), array('id'))
        ->where('forgienKey = \'' . $forgienKey . '\'')
        ->order("'id' ASC")
);

答案 1 :(得分:1)

请试试这个

$resultSet = $this->getDbTable()->fetchAll(
       $this->getDbTable()->select()
        ->columns('id')
        ->where('forgienKey = \'' . $forgienKey . '\'')
        ->order("'id' ASC")
);

修改

检查链接

http://framework.zend.com/manual/en/zend.db.select.html