Ich versuche SQL-Abfrage mit Tabelle Gateway ausführen, die COUNT (*) Ausdruck in ZF2 enthalten. Das ist Funktion in meinem Modell:SELECT (COUNT (*)) Abfrage in ZF2
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);
}
Wenn die Abfrage gedruckt wird es richtig ist,
SELECT count(komentarID) AS `brKomentari`, `komentar`.`ured` AS `uredId` FROM `komentar` GROUP BY `ured`
In der Steuerung Ich versuche
die Abfrage mit diesem Code aufzurufenforeach($this->getKomentarTable()->brKomentariUred() as $r){
$arr = $this->object_to_array($r);
print_r($arr);
}
Es gibt keine Anzahl von Elementen und devicesID zurück, wie es in SELECT geschrieben wird, sondern gibt SELECT * FROM komentar
zurück, aber ohne Werte. Ist das der richtige Code oder mache ich einen Fehler in meinem Code? Andere Abfragen sind in Ordnung.
Vielen Dank im Voraus für Ihre Hilfe.
"devicesID wie es in SELECT geschrieben" - es gibt keine 'devicesID' Spalte in Ihrer Abfrage – RomanPerekhrest
Ich meine 'ured'. 'ured' ist Spalte in meiner Tabelle. Das Ergebnis, das ich erhalte, ist dieser Array ( [komentarID] => [Datum] => [sodrzina] => [ured] => [Korisnik] => [Eingangsfilter] => ) Array ( [komentarID] => [Datum] => [sodrzina] => [ured] => [Korisnik] => [Eingangsfilter] => ) Alle Elemente in der Arrays, außer InputFilter, sind Spalten in meiner Tabelle in der Datenbank – Vasil