我试图在包含ZF2中的COUNT(*)表达式的表网关中执行SQL查询。这是在我的模型功能:ZF2中的SELECT(COUNT(*))查询
public function brKomentariUred(){
$sql = $this->tableGateway->getSql();
$select = $sql->select();
$select->columns(array('brKomentari' => new \Zend\Db\Sql\Expression('count(komentarID)'), 'uredId' => 'ured'));
$select->group('ured');
//echo $sql->getSqlStringForSqlObject($select); die();
return $this->tableGateway->selectWith($select);
}
当打印查询是正确的
SELECT count(komentarID) AS `brKomentari`, `komentar`.`ured` AS `uredId` FROM `komentar` GROUP BY `ured`
在控制器我试图打电话查询,此代码
foreach($this->getKomentarTable()->brKomentariUred() as $r){
$arr = $this->object_to_array($r);
print_r($arr);
}
它不返回元素和设备ID的数量,因为它在SELECT中被写入,但返回为SELECT * FROM komentar
,但没有值。这是正确的代码或我在我的代码中出现错误?其他查询都可以。
在此先感谢您的帮助。
“devicesID因为它是写在SELECT” - 有一个在您的查询 – RomanPerekhrest
没有'devicesID'栏我的意思是'ured'。 'ured'是我桌子上的专栏。其中我得到的结果是这样的 阵列 ( [komentarID] => [基准] => [sodrzina] => [ured] => [korisnik] => [InputFilter输入] => ) 阵列 ( [komentarID] => [基准] => [sodrzina] => [ured] => [korisnik] => [InputFilter输入] => ) 所有阵列中的元件,除了InputFilter,在我的数据库表中的列是 – Vasil