我想在Zend_Db_Table_Abstract的扩展类中更改获取模式。以下不工作:
<?php
class Foo extends Zend_Db_Table_Abstract
{·
function bar()
{
return $this->fetchAll(Zend_Db::FETCH_NUM);
}
}
任何人都知道如何正确地做到这一点? 谢谢!
答案 0 :(得分:2)
如果您只想按列号获取数据,我认为Zend_Db_Table是正确的,因为Zend_Db_Table的fetchAll()方法总是希望返回一个行集,在本例中是Foo行。行使用列名作为对象属性。
如果您确实需要使用带编号的索引进行提取,请尝试使用数据库适配器而不是数据库表:
function bar() {
$dbAdapter = $this->getAdapter();
$dbAdapter->setFetchMode(Zend_Db::FETCH_NUM);
return $dbAdapter->fetchAll("SELECT * FROM " . $this->_name);
}
答案 1 :(得分:2)
我希望这可以帮到你。
<?php
class Langs extends Zend_Db_Table_Abstract
{
protected $_name = 'langs';
protected $_primary = 'id';
public function getLangs() {
$query = "SELECT lang_short "
. "FROM $this->_name "
. "ORDER BY $this->_primary";
return $this->_db->fetchAll($query, null, Zend_Db::FETCH_OBJ);
}
}