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 :

Comment enregistrer une date ? [Doctrine]


Sujet :

ORM PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    lr
    lr est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2003
    Messages : 338
    Par défaut Comment enregistrer une date ?
    Salut,

    Dans ma base MySQL, j'ai un champs de type DATE. J'essaie d'enregistrer une valeur avec doctrine en faisant
    $monObjet->setDateDebut( time() );

    mais dans la base je retrouve 0000-00-00.

    Pourquoi ?

    Merci d'avance

  2. #2
    Membre confirmé Avatar de Chen norris
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 216
    Par défaut
    Bonjour,

    Quand tu regardes sur http://php.net/time, tu vois que la fonction time() te retourne un int, à savoir un timestamp. Dans ta base de données, tu as déclaré un type date et non timestamp et du coup, la conversion passe mal. Deux solutions :
    1. soit tu changes en BDD et tu passes en timestamp
    2. soit dans ton code, tu crées une chaine de caractères qui respecte le format yyyy-MM-dd


    Pour convertir en date, je n'ai plus le détail exact en tête mais je pencherais pour ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $monObjet->setDateDebut(date(('Y-m-d'), time()));
    À vérifier avec la doc de php.

  3. #3
    lr
    lr est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2003
    Messages : 338
    Par défaut
    Merci pour ta réponse, ce code fonctionne très bien. Mais je précise ma question : est-ce que c'est là la bonne manière de traiter une date avec Symfony/Doctrine/MySQL ?

  4. #4
    Membre confirmé Avatar de Chen norris
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 216
    Par défaut
    Là par contre, je ne pourrai pas t'aider, ne connaissant Symfony que de nom (et pas du tout Doctrine).
    N'oublie de mettre le sujet en Résolu si ton problème est bien résolu

  5. #5
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Tu as le choix entre date et timestamp avec symfony/doctrine.

    Les outils (widget et validator) gèrent les deux. Tous dépend donc des autres traitements que tu souhaites leur faire subir. Il n'y a pas de solution meilleur que l'autre.

  6. #6
    lr
    lr est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2003
    Messages : 338
    Par défaut
    Citation Envoyé par Michel Rotta Voir le message
    Tu as le choix entre date et timestamp avec symfony/doctrine.

    Les outils (widget et validator) gèrent les deux. Tous dépend donc des autres traitements que tu souhaites leur faire subir. Il n'y a pas de solution meilleur que l'autre.
    Merci, mais alors quelle est la bonne manière de renseigner une date par code pour un objet correspondant à une table dont un champs est de type DATE ?

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

Discussions similaires

  1. comment ajouter une date dans un enregistrement
    Par INCO13 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/06/2008, 18h59
  2. Comment fixer une date dans un champ !
    Par LATHIOS dans le forum Access
    Réponses: 8
    Dernier message: 17/06/2005, 19h44
  3. []Comment convertir une date GMT en date vb ?
    Par Invité dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 11/08/2004, 16h01
  4. Comment récuperer une date depuis une chaine?
    Par shopoto dans le forum ASP
    Réponses: 4
    Dernier message: 12/05/2004, 16h17

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