Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/05/2011, 10h15   #1
Invité régulier
 
G_like Did
Inscription : mars 2010
Messages : 23
Détails du profil
Informations personnelles :
Nom : G_like Did

Informations forums :
Inscription : mars 2010
Messages : 23
Points : 9
Points : 9
Par défaut [sf 1.4.x] doctrine upadte d'un champ datetime erreur

Bonjour,

je me perds dans une requete doctrine avec un champ de type datetime :
Je lance la requete:
Code :
1
2
3
4
5
6
7
 
		$res= Doctrine_Query::create()->
		update('RDV')->
			set('date=?',$n_date)->
		where('id = ?', $idd)->
                andWhere('date=?',$n_date)->
		execute();
et dans le log je vois passer : UPDATE RDV SET date = 2011 09 WHERE (id = '88' AND date = '2011-05-04 09:30:00').
Pourtant j'utilise la même variable $n_date !!

dans schema.yml le champ date est defini ainsi :
Code :
1
2
3
4
5
6
7
8
 
    date:
      type: timestamp(25)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
Merci pour votre aide.
DidG_like est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2011, 10h17   #2
Membre habitué
 
Homme Ludovic
Étudiant
Inscription : janvier 2011
Messages : 124
Détails du profil
Informations personnelles :
Nom : Homme Ludovic
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 124
Points : 140
Points : 140
Je pense pas que tu es bien compris le fonctionnement de symfony, explique exactement ce que tu veux et le fonctionnement de tout ce qui tourne autour.
PeytaWodka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2011, 11h23   #3
Invité régulier
 
G_like Did
Inscription : mars 2010
Messages : 23
Détails du profil
Informations personnelles :
Nom : G_like Did

Informations forums :
Inscription : mars 2010
Messages : 23
Points : 9
Points : 9
Par défaut [résolu]

Ok, c'est un problème de présentation de la donnée. il faut ajouter des ' dans la requete : set('date=?',"'".$n_date."'") et non set('date=?',$n_date)

Toujours bon à savoir.
DidG_like est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2011, 14h41   #4
Membre habitué
 
Avatar de Nico_F
 
Homme Nicolas
Développeur Web
Inscription : avril 2011
Messages : 95
Détails du profil
Informations personnelles :
Nom : Homme Nicolas
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : Communication - Médias

Informations forums :
Inscription : avril 2011
Messages : 95
Points : 142
Points : 142
Code :
set('date', '?', $n_date)
me parrait légèrement plus propre.
--> http://www.doctrine-project.org/docu...update-queries
Nico_F est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2011, 16h14   #5
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
Pour le shema.yml, tu gagnerais à écrire ton champ date ainsi :
Code :
1
2
3
4
#shema.yml extrait (non testé)
    date:
      type: timestamp
      notnull: true
A mon avis tu as généré ton shema.yml depuis ta base, mauvaise idée, mais classique. C'est la base qui doit être générée par le shema.yml, pas le contraire. Le shema.yml décrit le modèle objet sur lequel tu veux travailler, la base en est la conséquence. Si tu parts de la base, ton modèle objet est le reflet de ta base, serte, mais rarement le modèle sur lequel tu souhaites travailler. Et tu as des merdes ensuite...
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2011, 17h21   #6
Invité régulier
 
G_like Did
Inscription : mars 2010
Messages : 23
Détails du profil
Informations personnelles :
Nom : G_like Did

Informations forums :
Inscription : mars 2010
Messages : 23
Points : 9
Points : 9
En effet, schema.yml a été créé à partir de la base et non l'inverse. Je note qu'il s'agit d'une mauvaise habitude.

Merci.
DidG_like est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2011, 17h52   #7
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
C'est plus qu'une mauvaise habitude.

C'est susceptible de te causer des problèmes lors de ton développement et risquer d'avoir à retoucher le shema.yml alors qu'une partie du développent est déjà fait.

Si tu en es au début, je ne peux que te conseiller de revoir, rectifier et corriger le shema.yml avant d'aller plus loin.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h29.


 
 
 
 
Partenaires

Hébergement Web