|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : mai 2010 Messages : 7 ![]() |
Bon, le titre n'est pas très clair, alors je m'explique un peu
Voici mon schéma (très simplifié) Code :
Dans mon commandeForm j'avais placé ceci: Code :
Dans la table abonnement, j'ai un champ abonnement_commande_id Ce champ n'est pas vraiment nécessaire dans la relation, il permet simplement de lier l'abonnement à une commande de "référence". J'ai effacé la relation de mon schéma en me demandant si le problème venait de là, mais il semblerait que non Pour résumer, un abonnement possède une commande de référence et plusieurs commandes peuvent se référer à cet abonnement (en fait, ces commandes seront insérées automatiquement, en prenant pour modèle la commande référencée dans l'abonnement) J'aimerais pouvoir intégrer le formulaire d'abonnement dans le formulaire de création de commande (un formulaire simple, pas un formulaire de l'admin autogénéré). Et c'est là que ça pose problème, car doctrine ne reconnait pas le lien dans ce sens (je pense). J'ai déjà fais des formulaire imbriqué (avec ahDoctrineEasyEmbeddedRelationsPlugin) , mais dans l'autre sens, c'est à dire que dans le cas présent il faudrait inclure le formulaire commande dans le formulaire abonnement.... ce qui ne me va pas du tout. donc je dois faire un formulaire imbriqué dans le sens n ==> 1 à la place de le faire dans le sens 1 ==> n Auriez vous une idée? Merci d'avance |
||||
|
|
00
|
|
|
#2 | ||
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Le shema.yml revu "à ma façon".
Code :
Le embed est conçu pour être lié d'une table "1" d'une relation "1-n" vers les tables "n". Pas le contraire (éventuellement d'un 1 vers un 1 d'une relation "1-1" mais il y a un autre plus spécifique pour cela). Le embed ne fonctionne pas correctement si l'enregistrement 1 n'a pas été sauvegardé avant la génération de l'écran. Donc en gros, lors de la création d'un enregistrement avec des embed il faut désactiver les embed.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
||
|
00
|
|
|
#3 | ||||
|
Invité de passage
![]() Inscription : mai 2010 Messages : 7 ![]() |
Citation:
Citation:
Citation:
Citation:
Conseillerais tu une methode particulière pour pouvoir créer la commande modèle et l'enregistrement "abonnement" associé? Je pourrais permettre la création de la commande et de l'abonnement séparé, (tout en devant sélectionner la commande référence lorsque l'on crée l'abonnement), mais ça fait lourd comme solution... merci pour ta réponse en tout cas ^^ |
||||
|
|
00
|
|
|
#4 | ||
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
D'une manière général et sauf contraintes liées à de l'existant il vaut mieux partir d'un shema.yml pour arriver à une base de données que le contraire, en effet le shema.yml est plus que la simple description des tables.
Citation:
Citation:
Je pense qu'il faut que tu supprimes les contraintes sur les clef (notnull: true), que tu crées dans un form non relié à doctrine (parent sfWebForm) tes données et que tu traites "à la main" dans ton contrôleur la création des deux enregistrements puis leurs liaisons respectives.
__________________
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