Mysql
 sql >> Base de données >  >> RDS >> Mysql

Sortie Symfony de données dans des tables groupées par date

exemple du document de doctrine :

La construction INDEX BY n'est rien qui se traduise directement en SQL mais qui affecte l'hydratation des objets et des tableaux. Après chaque clause FROM et JOIN, vous spécifiez par quel champ cette classe doit être indexée dans le résultat. Par défaut, un résultat est incrémenté par des clés numériques commençant par 0. Cependant, avec INDEX BY, vous pouvez spécifier n'importe quelle autre colonne comme clé de votre résultat, cela n'a vraiment de sens qu'avec des champs primaires ou uniques :

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

Renvoie un tableau du type suivant, indexé à la fois par user-id puis phonenumber-id :

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)

document de doctrine