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 31/01/2011, 15h56   #1
Membre du Club
 
Inscription : mars 2005
Messages : 217
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : mars 2005
Messages : 217
Points : 54
Points : 54
Par défaut csrf token: Required. et admin generator

Bonjour,

Dans mon application, j'ai créé 2 classes : building et place selon le model suivant :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
   ogi_place:
      _attributes: { phpName: Place }
      # code lieu
      id: { type: integer, required: true, primaryKey: true, autoIncrement: true }
      # nom 
      name: varchar(100)
      # batiment
      building_id : { type: integer, foreignTable: ogi_building, foreignReference: id, onDelete: setnull }
 
   ogi_building:
      _attributes: { phpName: Building }
      # code lieu
      id: { type: integer, required: true, primaryKey: true, autoIncrement: true }
      # nom 
      name: varchar(100)
Pour gérer ça, j'ai utilisé l'admin générator.
Pour remplir la table building, pas de soucis. Par contre pour la table place, il me met une erreur :
Code :
1
2
3
4
Warning: array_key_exists(): The first argument should be either a string or an integer in /usr/local/symfony/symfony1.4.8/lib/util/sfParameterHolder.class.php on line 53 
 
The item has not been saved due to some errors.
    * csrf token: Required.
Une idée du pourquoi ?
Merci.
__________________
Jérôme
jejeman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2011, 17h29   #2
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
J'ai besoin de savoir quel moteur ORM est utilisé. A priori tu part sur propel, l'ORM le plus utilisé aujourd'hui est Doctrine. Ne serait-il pas mieux de partir sur ce dernier ?

Pourquoi un nom de classe si compliqué ? (préfix ogi_ ?)

Pourquoi un required sur un autoincrémenté ?

Mes souvenirs de propel datent de plusieurs années, a priori ta relation semble bonne. Quid d'une alimentation depuis les fixature ? Quid d'une alimentation depuis un outil externe style phpMyAdmin ?
__________________
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 01/02/2011, 10h30   #3
Membre du Club
 
Inscription : mars 2005
Messages : 217
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : mars 2005
Messages : 217
Points : 54
Points : 54
Bonjour et merci de te pencher sur mon problème...
Pour l'ORM, oui c'est propel, mais je n'ai pas le choix...
Pour le nom, ogi c'est le nom de l'application, c'est une convention d'écriture...
Pour le required, c'est vrai que ce n'est pas obligé, mais le modèle a été fait avant moi.. , je vais voir si je peux bouger ça...
J'ai essayer une alimentation depuis phpmyadmin, pas de pb !
Merci !
__________________
Jérôme
jejeman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2011, 11h07   #4
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
Propel, pas de chance .. Reste que c'est un bon ORM qui m'a bien servi, mais j'ai repassé tous sous doctrine pour ne pas avoir à maitriser deux ORM.

Pour OGI, soit, mais est-ce nécessaire dans le nom des entités du modèle ? Pour le nom physique des tables, je peux comprendre (et encore, il y a le nom de la base de données qui doit déjà être OGI quelque chose, mais pour les objets du modèle qui sont dans le code de l'application, cela me semble d'une lourdeur qui a dépassé depuis longtemps le stade de la parano Sauf si toutes vos applications sont développées dans un seul et même environnement... ce dont je doute, fort

Je pense que le problème viens justement du require, regarde si, au moins pour un test en local, tu ne peux pas le supprimer. Pour voir. Une sorte de poker local
__________________
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 01/02/2011, 14h20   #5
Membre du Club
 
Inscription : mars 2005
Messages : 217
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : mars 2005
Messages : 217
Points : 54
Points : 54
Sans le required, c'est pas mieux...
J'ai un autre element dans mon model fait de la meme facon et lui il marche impec !
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
   ogi_type_equipment:
      _attributes: { phpName: TypeEquipment }
      # code type
      id: { type: integer, required: true, primaryKey: true, autoIncrement: true }
      # nom 
      name: varchar(100)
      # famille d'equipement
      family_id : { type: integer, foreignTable: ogi_equipment_family, foreignReference: id, onDelete: cascade }
 
   ogi_equipment_family:
      _attributes: { phpName: EquipmentFamily }
      # code famille
      id: { type: integer, required: true, primaryKey: true, autoIncrement: true }
      # nom de la famille (DM, materiel informatique, logistique...)
      name: varchar(100)
Bizarre non ?
__________________
Jérôme
jejeman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2011, 14h32   #6
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
Essaye la commande : symfony doctrine:clean-model-file

Essaye de nettoyer à la main le dossier lib/model/doctrine et le dossier lib/model/doctrine/base de tous leurs fichiers (attention, il est possible que dans lib/model/doctrine tu aies modifier des fichiers, une sauvegarde serait un plus). Et de régénérer le tous.

Essaye de supprimer dans lib/form le fichier form de cette entité (attention à des modifications éventuelles), supprime aussi celui dans base, pour qu'il recrée le tous à la base. Et recrée.
__________________
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 03/02/2011, 18h16   #7
Membre du Club
 
Inscription : mars 2005
Messages : 217
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : mars 2005
Messages : 217
Points : 54
Points : 54
J'ai suivi ta méthode et ça a marché !!!!
Merci !
__________________
Jérôme
jejeman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2012, 22h04   #8
Membre du Club
 
Homme
Ingénieur développement de composants
Inscription : mars 2011
Messages : 89
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Tunisie

Informations professionnelles :
Activité : Ingénieur développement de composants
Secteur : High Tech - Matériel informatique

Informations forums :
Inscription : mars 2011
Messages : 89
Points : 55
Points : 55
pour ceux qui se plaint de cet erreur avec Doctrine symfony 1.4
voilà la solution
dans la fonction configure() de la form (dans \lib\form\doctrine\nomtableForm.class.php )
on met
$this->widgetSchema->setNameFormat('nommodule[%s]');
$this->errorSchema = new
sfValidatorErrorSchema($this->validatorSchema);
trmalek 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 06h48.


 
 
 
 
Partenaires

Hébergement Web