Partage
  • Partager sur Facebook
  • Partager sur Twitter

Grouper par dates (par mois et par jours)

Twig

    8 mai 2021 à 18:56:16

    Bonjour,

    Je souhaite grouper un tableau de données par MOIS et dans un même mois, par JOURS.

    Jusqu'à présent avec le code suivant je suis arrivé à grouper par JOURS et non par MOIS.
    Dois-je faire une nouvelle boucle... ?

    Voici le code de mon twig :

    {% set date = null %}
    {% for session in sessions %}
    {% if date != session.date |format_date ('full', '', locale='fr')|capitalize %}
    {% set date = session.date |format_date ('full', '', locale='fr')|capitalize %}
    
    
    <table>
        <div class="mb-1 mt-3"><strong>{{ session.date |format_date ('none', 'MMMM', locale='fr')|capitalize }}</strong></div>
        <div class="mb-1 mt-3"><strong>{{ session.date |format_date ('full', locale='fr')|capitalize }}</strong></div>
            <thead>
                <tr class="pb-2">
                <th class="session_celmin">Heure</th>
                <th class="session_celmax">Titre</th>



    Je vous remercie de votre aide

    -
    Edité par Graf- 8 mai 2021 à 18:58:03

    • Partager sur Facebook
    • Partager sur Twitter
      12 mai 2021 à 14:41:14

      Bonjour,

      suite à mon poste ci-dessus, et mon essai de grouper des données par MOIS > JOUR sous TWIG.

      j'ai souhaité faire une requête Doctrine via ce guide :

      https://www.maxy.fr/article/utiliser-group-by-day-month-year-sous-doctrine2

      Voici ma requête :

          public function sessionsGroupBy()
          {
      
                     return $this->createQueryBuilder('session')
                        // ->select('count(v) as nb, SUBSTRING(v.date, 9, 2) as')
                         ->select('count(session) AS nb, SUBSTRING(session.date, 9, 2) as day')
                         ->groupBy('day')
                         ->orderBy('session.date','ASC')
                         ->getQuery()
                         ->getResult();
          }
      qui me retourne l'erreur suivante :

      SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'paiawai.s0_.date' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

      J'ai lu pas mal de chose comme le fait de la valeur ONLY_FULL_GROUP_BY dans MySQL (PHPMyAdmin)
      ou encore la possibilité d'installer un JSON du nom de Beberlei.

      Mais je cherche une solution (code) plus simple et pratique.

      Merci de votre aide





      -
      Edité par Graf- 12 mai 2021 à 14:44:41

      • Partager sur Facebook
      • Partager sur Twitter

      Grouper par dates (par mois et par jours)

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown