Hallo,
ich habe ein merkwürdiges Problem mit Doctrine.
Und zwar habe ich eine Tabelle namens "Bestellungen" in der folgende Felder sind: id, bestellungsId und userId
Um jetzt herauszufinden welche Bestellung am häufigsten aufgegeben wurde, nutze ich folgende SQL:
Nutze ich diese SQL in PHPMyAdmin funktioniert alles wunderbar und ich bekomme genau die Ergebnisse, die ich erwartet habe.
Wenn ich das ganze nun allerdings unter Doctrine anwende, sieht es A) so bei mir aus:
und B) kriege ich ein komplett anderes Ergebnis, als mit der SQL von oben.
Ich denke allerdings die SQL quasi 1zu1 umgesetzt zu haben, das Problem ist aber, dass COUNT() in diesem Fall die ausgegebenen Datensätze zählt und ich somit immer nur eine "1" erhalte.
Wäre super wenn mir dabei vielleicht der ein oder andere helfen könnte.
ich habe ein merkwürdiges Problem mit Doctrine.
Und zwar habe ich eine Tabelle namens "Bestellungen" in der folgende Felder sind: id, bestellungsId und userId
Um jetzt herauszufinden welche Bestellung am häufigsten aufgegeben wurde, nutze ich folgende SQL:
Code:
SELECT COUNT(userId) AS beliebtheit FROM bestellungen GROUP BY bestellungsId ORDER BY beliebtheit DESC
Wenn ich das ganze nun allerdings unter Doctrine anwende, sieht es A) so bei mir aus:
PHP Code:
$em = Zend_Registry::get('entityManager');
$qb = $em->createQueryBuilder();
$qb->select(array(
'COUNT(b.userId) AS beliebtheit'
))
->from('Entity\Bestellungen', 'b')
->groupBy('b.bestellungsId')
->orderBy('beliebtheit', 'DESC')
;
Ich denke allerdings die SQL quasi 1zu1 umgesetzt zu haben, das Problem ist aber, dass COUNT() in diesem Fall die ausgegebenen Datensätze zählt und ich somit immer nur eine "1" erhalte.
Wäre super wenn mir dabei vielleicht der ein oder andere helfen könnte.
Comment