Zend framework 需要Zend_Db_Select的帮助吗
我目前正在使用Zend Framework 只是想知道有没有一种简单的方法可以让我的结果以数字数组格式而不是关联数组的形式出现 这是我的zend_db_select语句Zend framework 需要Zend_Db_Select的帮助吗,zend-framework,zend-db,Zend Framework,Zend Db,我目前正在使用Zend Framework 只是想知道有没有一种简单的方法可以让我的结果以数字数组格式而不是关联数组的形式出现 这是我的zend_db_select语句 $select = $this->select()->from('providerReligionPreference','religionTypeId') ->where('providerId = ?',$providerId) ->where('qu
$select = $this->select()->from('providerReligionPreference','religionTypeId')
->where('providerId = ?',$providerId)
->where('quoteTypeId = ?',$quoteTypeId);
$result = $this->fetchAll($select);
var_dump($result->toArray());
return $result->toArray();
当我var_dump$result->toArray()时,我得到
但我想用数字数组格式,比如
$result[0]="1";
$result[1]="2";
有人能帮我吗?
非常感谢你
干杯您的
$result
是一个行集,因此您可以执行以下操作:
$numericResult = array();
foreach ($result as $row) {
$numericResult []= $row->religionTypeId;
}
或
假设$this
是Zend_Db_表的实例(没有人会将适配器扩展为模型,对吗?):
或者两者兼而有之
$adapter->setFetchMode(Zend_Db::FETCH_BOTH);
fetchAll
的返回是一个行集,如中的解释:
行集实现“SeekableIterator”和“Countable”:
使用:
最好的答复在这里。要补充的是,我不确定,这也不会返回行集;)但如果是这样,您可以使用
$this->getAdapter()->fetchAll($select)
和$this->getAdapter()->setFetchMode()
可以100%工作:)您是正确的。将查看行集是否可以使用数字键否,表不能使用其他模式,因为它明确指定了关联获取模式:$data=$stmt->fetchAll(Zend_Db::fetch_ASSOC)代码>
$adapter->setFetchMode(Zend_Db::FETCH_NUM);
$result = $this->fetchAll($select);
$result = $adapter->fetchAll($select, array(), Zend_Db::FETCH_NUM);
$result = $this->getAdapter()->fetchAll($select, array(), Zend_Db::FETCH_NUM);
$adapter->setFetchMode(Zend_Db::FETCH_NUM);
$select = $adapter->select();
...
$adapter->setFetchMode(Zend_Db::FETCH_BOTH);
$myAssocArray = array();
foreach ($result as $row) {
$myAssocArray[] = $row->religionTypeId;
}