und hinzufügen public $cnt zum Modell, in meinem Fall Blei.
Wie Kshitiz auch sagte, könnte man auch einfach verwenden yii\db\Query::createCommand().
Dies funktioniert und ich musste die öffentliche Variable zur Modellklasse hinzufügen und von @deacs erwähnen und die Methode all () durch ersetzen ->createCommand()->queryAll(); Beachten Sie auch, dass meine Methode select() Vielfache hat ->select(['type, date(significant_timestamp) AS significant_timestamp, COUNT(*) AS size'])
– Gajen Sunthara
5. September 2017 um 19:18 Uhr
Sie können die Anzahl erhalten, indem Sie verwenden zählen() in der Auswahlabfrage
Referenzlink für verschiedene Funktionen der Auswahlabfrage
Wenn Sie nur an der Zählung interessiert sind, verwenden Sie yii\db\Query wie von anderen erwähnt. Es sind keine Änderungen an Ihrem Modell erforderlich:
Nur eine Anmerkung, falls es jemandem hilft, dass ein Getter, der als Eigenschaft verwendet wird, zählbar ist (während er, wenn er als Funktion aufgerufen wird, 1 zurückgibt). In diesem Beispiel habe ich eine Category-Klasse mit Listings, die durch „listing_to_category“ verbunden sind. Um aktive, genehmigte Einträge für die Kategorie zu erhalten, gebe ich eine ActiveQuery zurück, also:
Sie können den Befehl create verwenden, um Ihre MySQL-Abfrage zu schreiben
– Kschiz
25. Juni 2014 um 8:55 Uhr
Bitte poste die Lösung als Antwort.
– Cthulhu
26. Juni 2014 um 13:43 Uhr