IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ORM PHP Discussion :

DQL fonction date


Sujet :

ORM PHP

  1. #1
    Membre régulier
    Profil pro
    Développeur
    Inscrit en
    Janvier 2010
    Messages
    232
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Janvier 2010
    Messages : 232
    Points : 112
    Points
    112
    Par défaut DQL fonction date
    Bonjour,

    j'essaie d'utiliser la fonction DATE_ADD de DQL.
    Elle marche très bien dans le code ci-dessous, mais le problème est que je récupère le résultat dans le contrôleur sous forme de string YYYY-MM-DD et non pas au format dateTime.
    Est-ce normal ?
    Que dois-je faire pour que la fonction renvoie un DateTime ?
    Si ce n'est pas possible, dois-je dans le contrôleur convertir le string en dateTime pour obtenir l'affichage souhaité ?
    Merci pour vos réponses

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public function getSeminaire() : array {
            $dql = $this->getEntityManager()->createQuery(
                                    "select s.id as idSeminaire, 
                                     c.id as idCours,
                                     c.libelleCours,
                                     s.dateDebutSem,
                                     DATE_ADD(s.dateDebutSem, c.nbJours, 'DAY' ) as dateFinSem,
                                     c.nbJours as nbJours
    				from App\Entity\Seminaire s
    				join s.cours c"
            );
            return $dql->getResult();
        }

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Points : 1 220
    Points
    1 220
    Par défaut
    bonjour,
    dans la requête DQL tu récupères 2 données: la date début et le nombre de jours. Ces données suffisent largement pour déterminer la date de fin à l'affichage dans une vue twig ou html.
    du coup la fonction DATE_ADD() devient inutile et qui au demeurant est une fonction native MYSQL donc non supportée par doctrine 2 à moins d'écrire une extension doctrine soi-même(ou d'en installer une extension) .

    Afficher une date( l'équivalent du type date ou datetime en doctrine) revient à juste ajouter le nombre de jours à la date.
    Dans une vue twig:
    Code twig : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    {% for sem in seminaires %}
        Date fin:  {{ sem.dateDebutSem  | date_modify("+ %d days"|format( sem.nbJours ) ) | date('d-m-Y')  }}
       {# ou encore #}
       Date fin:  {{  sem.dateDebutSem | date_modify( ' + '~sem.nbJours~' days ')| date('d-m-Y ') }}
     
    {% endfor %}

    https://twig.symfony.com/doc/3.x/fil...te_modify.html

  3. #3
    Membre régulier
    Profil pro
    Développeur
    Inscrit en
    Janvier 2010
    Messages
    232
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Janvier 2010
    Messages : 232
    Points : 112
    Points
    112
    Par défaut
    Bonjour,

    Merci pour cette réponse pertinente.
    Bonne journée
    Loustalet

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Dates] Fonction date
    Par dafalri dans le forum Langage
    Réponses: 18
    Dernier message: 13/12/2005, 11h27
  2. Question de base sur l'utilisation de la fonction date()
    Par deaven dans le forum Langage SQL
    Réponses: 2
    Dernier message: 04/12/2005, 15h33
  3. Som dans form continu en fonction date selectionée dans form
    Par samlepiratepaddy dans le forum Access
    Réponses: 3
    Dernier message: 26/09/2005, 13h05
  4. Fonction Date
    Par marivi dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 18/08/2005, 16h30
  5. Problème avec une fonction date.
    Par kmayoyota dans le forum ASP
    Réponses: 8
    Dernier message: 09/09/2004, 12h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo