|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : mai 2008 Messages : 2 ![]() |
Tous d'abord bonjour à tous, je poste ce message après diverse recherche, mais pas moyen je n'y arrive pas. J'ai donc besoin de votre aide.
J'ai dans ma base une table user et une table address en relation 1to1. J'ai donc dans ma table user une clé étrangère idaddress. Lorsque je crée mon formulaire pour modifier un utilisateur et une adresse, je met le formulaire adresse en embedForm. Lorsque je rentre des données dans la base, la modification de l'adresse fonctionne. Par contre quand j'ai un user et que je veux créer une nouvelle adresse et donc lui assigner, l'adresse est bien créée en base mais la relation n'est pas effectuée ( le champs idaddress de la table user ne se remplit pas). Je galère depuis deux jours la dessus. Voici une partie de mon schema.yml Code :
Et voici le code du formulaire Code :
|
||||
|
|
00
|
|
|
#2 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Pour le form de création à lier par un embed.
Il faut créer un nouvel objet du modèle sur adresse et le lier à ton user par son setter (setUser()) Ensuite tu crées ton form avec son embed. A la récupération des données, il faut recréer la même structure du form (avec la création et liaison de l'objet du modèle pour la nouvelle adresse). La sauvegarde (ou pas) de la nouvelle adresse s'effectuant ensuite (quant tout le form est valide).
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#3 | |||
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2007 Messages : 13 ![]() |
Bonjour,
je rencontre le même soucis que cybadr. En reprenant son exemple et en suivant les conseils de Michel cela voudrait dire qu'on aurait quelque chose du genre : Code :
Citation:
merci |
|||
|
|
00
|
|
|
#4 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2007 Messages : 13 ![]() |
Bon en fait après recherche c'est comme ceci qu'il faut faire :
Code :
|
||
|
|
00
|
|
|
#5 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Possible oui.
Mais ton code est intimement lié avec la route utilisée ( getObject() ) et ce qu'elle récupère. Il manque un peu de contexte pour être exploitable... Et je pense qu'il est préférable de mettre le code d'embed dans le form plutôt que dans le contrôleur. Histoire de garder la notion d'objet.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
Copyright © 2000-2012 - www.developpez.com