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 20/06/2011, 12h26   #1
Invité de passage
 
Femme Elodie
Développeur Web
Inscription : juin 2011
Messages : 14
Détails du profil
Informations personnelles :
Nom : Femme Elodie
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2011
Messages : 14
Points : 4
Points : 4
Par défaut Insertion date via formulaire (Oracle)

Bonjour,

Je me suis permise de placer ce sujet ici puisque mon problème est plus lié à symfony qu'à oracle...

J'ai actuellement un problème pour insérer la date du jour dans le champ CREATED_AT d'une table appellée DEMANDE via le formulaire de symfony dans ma base de donnée Oracle.

J'obtiens l'erreur suivante :
Unable to execute INSERT statement. [wrapped: SQLSTATE[HY000]: General error: 1400 OCIStmtExecute: ORA-01400: impossible d'insérer NULL dans ("STET"."DEMANDE"."CREATED_AT")

Sachant que j'ai simplement surcharger ma methode save (dans Demande.php) :

Code :
1
2
3
4
5
6
public function save(PropelPDO $con = null)
{
    $this->setCreatedAt(time());
 
    return parent::save($con);
}
Ce que je trouve bizarre c'est que l'insertion de nouveaux utilisateurs (avec gestion des groupes etc...) se passe correctement (j'ai bien une insertion de CREATED_AT et de LAST_LOGIN, tout deux des timestamp).

Merci d'avance de votre aide.

Dood
doodoune est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2011, 13h55   #2
Membre habitué
 
Inscription : juin 2006
Messages : 488
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 488
Points : 116
Points : 116
tu n'as pas ta requete SQl dans la barre de debug.
La il semble tenter d'inserer une valeur null dans le champ created_at, ce qio je pense n'est pas autorisé.
erictomcat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2011, 14h23   #3
Invité de passage
 
Femme Elodie
Développeur Web
Inscription : juin 2011
Messages : 14
Détails du profil
Informations personnelles :
Nom : Femme Elodie
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2011
Messages : 14
Points : 4
Points : 4
J'obtiens :

Code :
Jun 20 12:18:06 symfony [info] DO INSERT  : INSERT INTO DEMANDE (IDDEMANDE,USER_DEMANDE,IDTYPEDEMANDE,DESCRIPTION,IDCATALOGUE,STATE) VALUES (:p1,:p2,:p3,:p4,:p5,:p6)
En fait il m'a paumé en cours le champ created_at.

Je suis en train de regarder, mais je pense que ca doit venir du formulaire.

Quand je suis dans mon formulaire, sans rien avoir modifié de ce que génère symfony, il ne m'affiche pas le sfWidgetFormDateTime pour created_at.

J'ai essayé de rajouter un champ a la main dans BaseDemandeForm.class pour voir, même un champ string ne s'affiche pas dans mon newFormulaire.

Le echo $form m'affiche bien tout... Mais ce que génère le cache a l'air de le bloquer.

Je vais creuser...


Edit : Non, pour le formulaire j'ai réussi à afficher (grâce au generator.yml)
Je ne vois donc pas pourquoi il m'"efface" tout d'un coup ce created at et me le supprimme même de la requete d'insertion.
doodoune est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2011, 14h32   #4
Membre habitué
 
Inscription : juin 2006
Messages : 488
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 488
Points : 116
Points : 116
si dans ton schéma tu as pris comme comportement (ActAs) Timestampable, tu n'as pas à le gérer !!
erictomcat est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 20/06/2011, 15h04   #5
Invité de passage
 
Femme Elodie
Développeur Web
Inscription : juin 2011
Messages : 14
Détails du profil
Informations personnelles :
Nom : Femme Elodie
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2011
Messages : 14
Points : 4
Points : 4
Trouvé !

Déjà ma génération de model avait foirée. Et le format date qui est accepté en Oracle c'est :
Merci pour tes indications erictomcat

Sujet résolu.
doodoune est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/06/2011, 13h22   #6
Membre du Club
 
Homme
Analyse système
Inscription : mars 2011
Messages : 406
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Analyse système

Informations forums :
Inscription : mars 2011
Messages : 406
Points : 67
Points : 67
Bonjour
j'etulise lors de la récupération il me retourne un Array :
Code :
$formulaire_mission['date_depart']
???
benhsaien est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 27/06/2011, 14h04   #7
Membre chevronné
 
Avatar de Herode
 
Développeur Web
Inscription : mars 2005
Messages : 769
Détails du profil
Informations personnelles :
Localisation : France, Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mars 2005
Messages : 769
Points : 788
Points : 788
Et on est censés comprendre ta question avec des "informations" aussi vagues ?
Herode 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 22h26.


 
 
 
 
Partenaires

Hébergement Web