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 06/09/2011, 18h35   #1
Membre régulier
 
Inscription : juin 2008
Messages : 214
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 214
Points : 78
Points : 78
Par défaut admin générator : pb update

Bonjour, dans ma base de données j'ai des individus auquels ont peut attribuer plusieurs mots clés. J'ai donc une relation many to many. Voici mon schéma :

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
44
45
46
47
48
49
############################################################
######################## Mots clés #########################
############################################################
 
 
mot_cle:
  columns:
    mot_cle:
      type: string(150)
      notnull: true
      unique: true
 
 
  relations:
    individus:
      foreignAlias: mots_cle
      class: individu
      refClass: maitrise_mot_cle
 
 
 
 
 
 
############################################################
#################### Maîtrise Mots clés ####################
############################################################
 
 
maitrise_mot_cle:
  columns:
    individu_id:
      type: integer(8)
      notnull: true
      primary: true
 
    mot_cle_id:
      type: integer(8)
      notnull: true
      primary: true
 
  relations:
    individu:
      foreignAlias: maitrises_mots_cle
      onDelete: cascade
 
    mot_cle:
      foreignAlias: maitrises_mots_cle
      onDelete: cascade
J'ai généré l'administration et un bug étrange est apparu. Quand je modifie le texte d'un mot clé, il me supprime l'association du mot clé avec l'individu... Comme si j'avais mis un on update delete... Or dans la base de données ce n'y est pas et quand je fais la requête directement sur la bdd (update mot_cle SET ...), il ne supprime rien. C'est donc l'admin générator qui en plus de faire l'update fait un delete... Ce que je ne lui demande surtout pas.

Comment empécher ça ?

Merci d'avance.
Cordialement.
barbug est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2011, 09h18   #2
Membre régulier
 
Inscription : juin 2008
Messages : 214
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 214
Points : 78
Points : 78
Bonjour, j'ai réussi à corriger le problème en mettant :

Au lieu de :

Code :
1
2
3
 
      edit:
        display: [mot_cle]
Il m'affiche maintenant une liste des individus qui sont connectés à ce mot clé lors de l'édition et si je valide il conserve les relation. Mais je trouve ça dérangeant de devoir mettre cette liste pour chaque mot clé. Si un jour le site a plus de 5000 membres, une liste déroulante de 5000 membres serait assez malvenue. Quelqu'un aurait une idée de comment éviter cela ?

merci d'avance.
Cordialement.
barbug est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 22h21   #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
Je ne suis pas trop sur des possibilités du générateur d'administration que j'ai trop peu utilisé. Pour les liaisons tu as soit la liste déroulante soit des cases à cochés, soit une liste à choix multiples...

Dans les trois cas, si tu as 5000 enregistrements ce sera illisible. Il faut donc envisager d'abandonner le générateur et passer en CRUD développé "à la mano".
__________________
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 15/09/2011, 12h10   #4
Membre régulier
 
Inscription : juin 2008
Messages : 214
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 214
Points : 78
Points : 78
Merci pour la réponse. Dommage que ce ne soit pas faisable facilement.

Cordialement.
barbug est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/09/2011, 12h38   #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 crains que cela soit difficile quelque soit l'outil utilisé, ceci n'est pas lié à symfony mais plutôt au fonctionnement des applications PHP, HTML.

Si tu envisages de manipuler de tel quantité de données, il faudra alors trouver un autre scénario pour gérer ces liaisons. Il sera alors possible de contraindre le framework à ce scénario.
__________________
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 24/09/2011, 08h47   #6
Membre régulier
 
Inscription : juin 2008
Messages : 214
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 214
Points : 78
Points : 78
En fait, je crois que vous avez mal compris. Je ne veux pas afficher la liste des individus, au contraire. Je veux justement ne modifier QUE le texte du mot clé. Mais avec l'admin générator, si je lui demande de n'afficher que le mot clé, lors de la validation du formulaire il me perd toutes les relations avec les individus... En gros il vide la table de relation n-n entre individu et mot-clé... Et je ne vois vraiment pas pourquoi...

Merci d'avance.
Cordialement.
barbug est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2011, 15h40   #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
Tu veux modifier le texte du mot clef depuis l'écran de détail ???

Mais si ton mot clef est utilisé sur plusieurs fiches, tu vas modifier toutes les fiches ???
__________________
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 27/09/2011, 08h11   #8
Membre régulier
 
Inscription : juin 2008
Messages : 214
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 214
Points : 78
Points : 78
C'est justement le but de modifier ces mots-clés. Ce sera surtout pour corriger des fautes d'orthographes, etc. Donc oui, je veux garder les relations.

Merci d'avance.
barbug est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2011, 10h12   #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
Je ne vois pas trop comment le faire d'une manière "standard" dans Sf1.

Là, je vois une solution en AJAX (quant tu cliques sur le champ d'affichage, tu déclenches un JS qui t'affiche un form avec un input pour ta modification et envoie une requête pour la modification).

Ou un bouton qui t'envoie sur une page spécialisée pour la modification du nom du tag.

Vouloir le modifier depuis l'écran, c'est réalisable (peut-être), mais il va falloir réécrire la procédure de sauvegarde du form qui n'est pas adaptées.
__________________
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é
Outils de la discussion



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


 
 
 
 
Partenaires

Hébergement Web