Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Symfony-Ausgabe von Daten in nach Datum gruppierten Tabellen

Beispiel aus Doktrindokument:

Das INDEX BY-Konstrukt ist nichts, was direkt in SQL übersetzt wird, aber das die Hydratation von Objekten und Arrays beeinflusst. Nach jeder FROM- und JOIN-Klausel geben Sie an, durch welches Feld diese Klasse im Ergebnis indiziert werden soll. Standardmäßig wird ein Ergebnis mit numerischen Schlüsseln beginnend mit 0 inkrementiert. Mit INDEX BY können Sie jedoch jede andere Spalte als Schlüssel Ihres Ergebnisses angeben, es macht jedoch wirklich nur Sinn mit primären oder eindeutigen Feldern:

SELECT u.id, u.status, upper(u.name) nameUpper FROM User u INDEX BY u.id
JOIN u.phonenumbers p INDEX BY p.phonenumber

Gibt ein Array der folgenden Art zurück, das sowohl durch die Benutzer-ID als auch durch die Telefonnummer-ID indiziert ist:

array
  0 =>
    array
      1 =>
        object(stdClass)[299]
          public '__CLASS__' => string 'Doctrine\Tests\Models\CMS\CmsUser' (length=33)
          public 'id' => int 1
          ..
      'nameUpper' => string 'ROMANB' (length=6)
  1 =>
    array
      2 =>
        object(stdClass)[298]
          public '__CLASS__' => string 'Doctrine\Tests\Models\CMS\CmsUser' (length=33)
          public 'id' => int 2
          ...
      'nameUpper' => string 'JWAGE' (length=5)

Dokument der Lehre