|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() Ludovic Étudiant Inscription : janvier 2011 Messages : 124 ![]() |
Bonjour,
J'explique, j'ai des relations N..N avec des colonnes dans les tables associations et j'aimerai savoir comment gérer ce cas. J'ai lu par-ci par-là que c'était plutôt compliqué ? J'ai essayé embedForm et embedRelation mais le résultat n'est pas probant. Dans un cas, j'ai rien qui s'affiche, dans l'autre seulement la colonne de la table association. |
|
|
00
|
|
|
#2 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Es-tu sure de ton shema.yml ? Une erreur dedans et tous tes essais tomberont à l'eau.
Tu as deux possibilités. Soit tu veux juste avoir des listes d'un ou des deux côtés pour dire qui est en relation avec qui, tu as un widget qui permet de gérer ce type de relations facilement. Si tu veux faire de l'édition tu as un plugin qui permet de gérer correctement les embed, regarde dans la salle plugin, dans le sujet épinglé.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#3 | ||||||
|
Membre habitué
![]() Ludovic Étudiant Inscription : janvier 2011 Messages : 124 ![]() |
Mes relations ne sont définis que d'un côté et dans la table association j'ai deux relations 1-N, enfin un schéma vaut mieux que des explications :
La table association avec une donnée, c'est cette donnée que je veux pouvoir gérer quand j'ajoute un champs dans cette table à partir du formulaire d'une personne : Code :
Code :
Code :
|
||||||
|
|
00
|
|
|
#4 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Pour ce qui est des morceaux de schéma, quelques réflexions à la volée :
Pour le plugin, il ne gère que les 1-n. Il permet donc de lier des enregistrements avec leur attribut et le vis-à-vis. Je ne vois pas trop comment tu pourrais gérer plus sur un écran.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#5 |
|
Membre habitué
![]() Ludovic Étudiant Inscription : janvier 2011 Messages : 124 ![]() |
Merci pour tes conseils. Je vais compléter/modifier mon schéma, juste une remarque, dans mon cas, la clé dans la table association est person_id alors que le nom de la table avec le refClass est sfGuardUserProfile, si je lui indique pas au moins local, il retrouve la bonne clé ou je dois modifier ma clé dans la table association ?
Pour mettre en place les deux relations 1-n 1-n, je dois simplement supprimer la relation n-n non ? Et ensuite, j'utilise le plugin pour lié les relations dans les formulaires ? |
|
|
00
|
|
|
#6 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Dans le cas d'une relation n-n et du lien directe entre les deux tables, il utilise les liens déclaré sur la table de relation pour récupérer les enregistrement, table déclarée avec refClass. Dans ce cas "local" n'a pas d'intérêt.
En règle général, il va pouvoir remplir automatiquement "local" en fonction du modèle. Ce que tu décris pour ta liaison est une exception qui va obliger à saisir "local" dans le shema.yml. Pour la relation depuis la table de liaison, pas pour le raccourci entre les deux tables n-n. Si tu utilises le raccourci entre les deux tables n-n, les propriétés du liens ne sont pas accessibles. Dans certains cas, cela peut être pratique, il faut alors garder cette liaison de raccourci, dans d'autre cas, c'est un danger, il faut alors supprimer ce lien. A toi de voir suivant ton application et l'utilisation de tes données. Pour le formulaire, il faudrait savoir ce que tu veux y mettre et comment.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#7 |
|
Membre habitué
![]() Ludovic Étudiant Inscription : janvier 2011 Messages : 124 ![]() |
Ce que j'aimerai faire c'est quand un utilisateur rempli son profil (classe sfGuardUserProfile), il puisse renseigner une activité et précisé la valeur du champ special_status. Par exemple, j'ai dix activités. Quand un utilisateur va remplir sont profil, il va se retrouver avec une liste de checkbox d'activité et à côté de chaque checkbox un sélecteur de special_status.
J'imagine bien que c'est assez compliqué de trouver ça par "défaut" mais si quelques choses s'en rapproche je suis preneur. Sinon, j’essaierai de faire "à la main". |
|
|
00
|
|
|
#8 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
L'utilisateur remplit son statut pour une activité.
Questions : Doit-il remplir son statut pour toutes les activités ? Peut-il créer une nouvelle activité depuis cet écran ?
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#9 |
|
Membre habitué
![]() Ludovic Étudiant Inscription : janvier 2011 Messages : 124 ![]() |
Il coche une activité, il choisi le statut pour celle-la, il en coche une autre elle choisit son statut pour celle-la. Donc un statut par activité.
Non il ne peut pas créer de nouvelles activités de son formulaire. |
|
|
00
|
|
|
#10 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Dans ce cas là, ton formulaire ne gère pas une relation n-n, mais une relation 1-n. Soit la relation entre la personne et la liste de ces activités. Qu'une activité soit elle même un choix dans une liste n'influe pas.
Vu que tu n'as pas le problème de la création d'une activité à la volée, je pense que le plugin devrait faire un bon travail.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#11 | ||||
|
Membre habitué
![]() Ludovic Étudiant Inscription : janvier 2011 Messages : 124 ![]() |
Une suite de problème se pose :
D'abord j'essai de d'utilsier le plugin donc je vais ça dans sfGuardUserProfileForm.class.php: Code :
Code :
'activity_id' => new sfWidgetFormInputHidden(), Code :
|
||||
|
|
00
|
|
|
#12 |
|
Membre habitué
![]() Ludovic Étudiant Inscription : janvier 2011 Messages : 124 ![]() |
Je cherche si possible un exemple de formulaire qui gère les doubles relations 1..N parce que je n'y arrive toujours pas.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com