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 17/04/2011, 11h37   #1
Invité régulier
 
Inscription : décembre 2007
Messages : 37
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 37
Points : 7
Points : 7
Par défaut peupler un formulaire

Bonjour,

J'ai créer un formulaire à partir d'une table de ma base de données dans ce formulaire j'ai ajouté deux champs de texte alors mon problème c'est que lors de l'édition les champs par défaut du formulaire sont peuplés alors que pour les deux champs de texte que j'ai ajouté j'ai pas pu les peupler

Merci d'avance
hou1919 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2011, 20h03   #2
Modérateur
 
Avatar de Nesmontou
 
Homme Benjamin PREVOT
Architecte de système d'information
Inscription : septembre 2004
Messages : 1 568
Détails du profil
Informations personnelles :
Nom : Homme Benjamin PREVOT
Âge : 30
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Architecte de système d'information
Secteur : Finance

Informations forums :
Inscription : septembre 2004
Messages : 1 568
Points : 2 493
Points : 2 493
Bonjour,

Il va nous falloir un peu plus de détails pour pouvoir t'aider : code, message d'erreur...
__________________
Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

F.A.Q. : Java, PHP, (X)HTML / CSS

N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème
Nesmontou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2011, 20h59   #3
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
Tes champs textes ne sont apparemment pas liés à la base de données, quels données veux-tu y mettre, comment veux-tu les traiter ensuite ?

Plus d'information pour t'aider il nous faudra.
__________________
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 18/04/2011, 00h40   #4
Invité régulier
 
Inscription : décembre 2007
Messages : 37
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 37
Points : 7
Points : 7
Salut
En fait j'ai deux tables "catégories" et "sous-catégorie" et j'ai embarqué le formulaire de "sous-catégorie" dans celui de "catégorie" et lors de l'édition je veux récupérer les valeurs des sous-catégorie de la catégorie à éditer
hou1919 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2011, 07h49   #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
Je suppose que tu utilise embedForm ?

Pour la création cela marche plutôt mal, en effet la catégorie doit exister avant d'être sauvegardée...

Pour la modification, cela marche tout seul (en principe !).
__________________
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 18/04/2011, 09h56   #6
Invité régulier
 
Inscription : décembre 2007
Messages : 37
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 37
Points : 7
Points : 7
Bonjour
pour la création ça marche très bien mais lors de la modification le formulaire est rempli avec que le nom de la catégorie et les champs qui doivent être remplis avec les sous-catégories sont vide voici mon code

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
class CategoriesForm extends BaseCategoriesForm
{
  public function configure()
  {
      $this->widgetSchema['desc_categorie'] = new sfWidgetFormTextarea();
 
      $subForm = new sfForm();
      for ($i = 0; $i < 2; $i++)
      {
        $sousCategorie = new SousCategories();
        $sousCategorie->Categories = $this->getObject();
 
        $form = new SousCategoriesForm($sousCategorie);
 
        $subForm->embedForm($i, $form);
      }
      $this->embedForm('sousCategorie', $subForm);
  }
}
hou1919 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2011, 10h11   #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
A priori on peut partir du postulat que categorie est l'objet du modèle et sousCategories() la méthode du modèle qui permet de récupérer les sous catégories d'une catégorie.

Dans ce cas, le schéma pourrait être plutôt :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
class CategoriesForm extends BaseCategoriesForm
{
  public function configure()
  {
      $this->widgetSchema['desc_categorie'] = new sfWidgetFormTextarea();
 
      $categorie = $this->getObject();
 
      $subForm = new sfForm();
      foreach ( $categorie->sousCategories() as $sousCategorie )
      {
        $form = new SousCategoriesForm($sousCategorie);
 
        $subForm->embedForm( $sousCategorie->getId(), $form );
      }
      $this->embedForm( 'sousCategorie', $subForm );
  }
}
__________________
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 18/04/2011, 10h50   #8
Invité régulier
 
Inscription : décembre 2007
Messages : 37
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 37
Points : 7
Points : 7
Merci Michel pour votre aide

mais j'ai encore un petit soucis voici le message d'erreur que j'ai eu : Unknown method Categories::SousCategories

malgré que j'ai mis le nom de la relation qui se trouve dans le fichier schema.yml

pour plus de détaille voici un extrait de mon fichier :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
//shema.yml
Categories:
  connection: doctrine
  tableName: categories
  columns:
    id_categorie:
      type: integer(2)
      fixed: false
      unsigned: true
      primary: true
      autoincrement: true
    lib_categorie:
      type: string(100)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    desc_categorie:
      type: string(255)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
  relations:
    ArticlesCategories:
      local: id_categorie
      foreign: id_categorie
      type: many
    CategoriesTypesSites:
      local: id_categorie
      foreign: id_categorie
      type: many
    Liens:
      local: id_categorie
      foreign: id_categorie
      type: many
    SousCategories:
      local: id_categorie
      foreign: id_categorie
      type: many
      onDelete : cascade
hou1919 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2011, 15h08   #9
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
shema revu à ma façon avec la table sous-catégorie partiellement évoquée.

Supprimer les propriétés inutiles. Ne pas utiliser d'outils pour générer le shema (même si c'est théoriquement possible). Ne pas recopier son schéma d'une base. Les relations ne sont définies que sur un côté de la relation (coté n).

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//shema.yml
Categorie:
  tableName: categories
  columns:
    // champ id créé automatiquement (interger auto incrémenté
    libelle: //on sait que c'est celui de la catégorie...
      type: string(100)
      notnull: true
    description:  string(255)
 
SousCategorie:
  columns:
    // idem pour la clef primaire, auto créée
    categorie_id: integer
    libelle:
      type: string(100)
      notnull: true
    description: string(255)
  relations:
    Categorie:
      foreignAlias: SousCategories
      onDelete : cascade
Ce code suffit pour créer les deux tables, la liaison qui va avec. Et le nom de la propriété pour récupérer les sous catégorie d'une catégorie sera :
Code :
$categorie->getSousCategories()
.

A noter que dans le code précédant, la bouche est fausse, elle doit être :
Code :
foreach ( $categorie->getSousCategories() as $sousCategorie )
__________________
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 10
Vieux 18/04/2011, 16h13   #10
Invité régulier
 
Inscription : décembre 2007
Messages : 37
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 37
Points : 7
Points : 7
Merci beaucoup Michel
hou1919 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 04h47.


 
 
 
 
Partenaires

Hébergement Web