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 10/01/2012, 19h56   #1
Invité de passage
 
Inscription : février 2010
Messages : 38
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 38
Points : 2
Points : 2
Par défaut auto génération d'id a la sauvegarde d'un formulaire

Bonjour ,

j'ai crée un formulaire et quand j'essaye de faire un save tout bête aucun id est généré du coup ca me fait une erreur de violation de contrainte.

Voici ce que je récupère en POST :

['name'] = string(6) "name"
| | ['nickName'] = string(5) "nickname
| | ['id'] = string(0) ""
| | ['_csrf_token'] = string(32) "2baf29eaf3d3983555b6ad34aa637888"

Le champs Id est vide , je pensais qu'en sauvegardant directement un form cela permettais de generer un id + 1 a l'ancien id. ( mon champs id est auto increment) , merci pour vos réponses.
dnd888 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 09h02   #2
Invité de passage
 
Inscription : février 2010
Messages : 38
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 38
Points : 2
Points : 2
aie 49 vues et toujours aucune réponse ... je m'inquiète
dnd888 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 09h32   #3
Candidat au titre de Membre du Club
 
Inscription : novembre 2009
Messages : 41
Détails du profil
Informations forums :
Inscription : novembre 2009
Messages : 41
Points : 10
Points : 10
Avec un peu plus de code on y verrai plus clair

Tu ne fais pas un unset['id'] quelque part par hasard?
selecto est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 10h49   #4
Membre chevronné
 
Avatar de kenny.kev
 
Homme
Inscription : janvier 2007
Messages : 575
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27
Localisation : France, Indre et Loire (Centre)

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2007
Messages : 575
Points : 690
Points : 690
Envoyer un message via MSN à kenny.kev
Alors déjà il y a plein de facteurs, la BDD, le schéma de la table, le schema.yml que tu as déclarer, et ton code.

Quel est le type de bdd ?
En fonction de la première réponse tu sais si il y a un incrémentation possible ou pas.
Comment tu as déclaré ton schema.yml ? (uniquement la table)

Et dans ton code comment gère tu ça ?
kenny.kev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 17h28   #5
Invité de passage
 
Inscription : février 2010
Messages : 38
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 38
Points : 2
Points : 2
dès que je rentre chez moi je vous envoi mon schema , merci encore !
dnd888 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 20h08   #6
Invité de passage
 
Inscription : février 2010
Messages : 38
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 38
Points : 2
Points : 2
voici mon schema :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
 
User:
  actAs: { Timestampable: ~ }
  columns:
    area_id: {type: integer,notnull : true}
    name: { type: string(255),notnull: true}
    nickName: { type: string(255),notnull: true}
    gentle: { type: boolean(2),notnull: true}
    avatar: { type: string(255)}
    bornDate : {type: string(255)}
    email: { type: string(255), notnull: true }
    jobName: {type: string(255), notnull: true,unique: true}
    studyLevel: {type: string(255),notnull: true}
    area: {type : string(255),notnull: true}
    is_active: { type: boolean, notnull: true }
    password: {type: string(255),notnull: true}
  relations:
    Area : { onDelete: CASCADE, local: area_id , foreign: id , foreignAlias: Users }
 
Area:
  columns:
    cityName : {type : string(255)
C'est un schema doctrine donc les id sont auto générés , dans ma base de donnée sql les id sont bien en auto increment , mais le soucis c'est qu'a la sauvegarde du formulaire lié a la classe je n'ai pas d'ajout d'id ce qui me provoque une erreur

La base est faite sous phpmyadmin et c'est du innoDB , par contre la somme des tables et en MyIsam , bizarre
dnd888 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 20h37   #7
Invité de passage
 
Inscription : février 2010
Messages : 38
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 38
Points : 2
Points : 2
finalement en ayant enlevé la relation entre User et Area , l'incrémentation des id s'enregistre correctement , donc le problème est lié a la relation quelqu'un peut m'aider ?
dnd888 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 10h18   #8
Membre habitué
 
Inscription : juin 2006
Messages : 488
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 488
Points : 116
Points : 116
s'il te plait utilise la balise [code]
erictomcat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 10h34   #9
Membre chevronné
 
Avatar de kenny.kev
 
Homme
Inscription : janvier 2007
Messages : 575
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27
Localisation : France, Indre et Loire (Centre)

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2007
Messages : 575
Points : 690
Points : 690
Envoyer un message via MSN à kenny.kev
Ton champ "area_id" est en notnull si tu ne le renseigne pas, il ne peut pas enregistrer la valeur.
kenny.kev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 12h01   #10
Invité de passage
 
Inscription : février 2010
Messages : 38
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 38
Points : 2
Points : 2
Citation:
Envoyé par kenny.kev Voir le message
Ton champ "area_id" est en notnull si tu ne le renseigne pas, il ne peut pas enregistrer la valeur.
Donc d'après toi le fait d'enlever notnull force l'enregistrement de l'id ? (je testerais ce soir)
dnd888 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 12h11   #11
Membre chevronné
 
Avatar de kenny.kev
 
Homme
Inscription : janvier 2007
Messages : 575
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27
Localisation : France, Indre et Loire (Centre)

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2007
Messages : 575
Points : 690
Points : 690
Envoyer un message via MSN à kenny.kev
non il y a pas que ça, ta relation est dans l'ensemble correcte.

Dans ta base tu as aussi le notnull à true donc il faut que tu le change.

Dans ton cas c'est la table area hérite de user donc il te faut une valeur dans area pour enregistrer user, c'est le principe de la foreignkey.
kenny.kev est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h42.


 
 
 
 
Partenaires

Hébergement Web