Embed Form Foreign key

Rechercher

Embed Form Foreign key

Par saturn1  -  1 reponse  -  Le 07/03/2009 20:43  -  Editer  - 

Bonjour je tente de faire un form embed dans sf_guard_user pour un système d'inscription. Voilà le code de mon action :

$this->form = new sfGuardRegisterForm();
  $this->form->embedForm('profile',new ProfileForm());
    /* Si l'action est appelé via la méthode POST... */
    if ($request->isMethod('post')) {
      $this->form->bind($request->getParameter('sf_guard_user'));
      /* ...et que les données sont valides */
      if ($this->form->isValid())
      {

et voici mon schema du profile

Profile:
  tableName:      sf_guard_user_profile
  columns:
    id:
      type: integer(4)
      primary: true
      autoincrement: true
    user_id:
      type: integer(4)
      notnull:  true
    email:
      type: string(255)
      notnull:  true
  relations:
    sfGuardUser:
      local:  user_id
      foreign:  id
      foreignType:  one
      onDelete: CASCADE

En faite à chaque fois que je valide le formulaire il me dit que l'user id (du profile) est requis. Mais le problème c'est qu'il se créer en même temps qu'on enregistre le formulaire. Donc comment faire?? Merci

 

PS: j'ai fais des recherches et j'ai trouvé 3 topics avec le même problème mais sans réponse!

 

Merci ;))

 

 

 

Réponses apportées à cette discussion

Par saturn1  -  Le 07/03/2009 21:49  -  Haut de page  - 

D'ailleurs je me demande si c'est la bonne solution d'utiliser un embed.

C'est peut-être mieux de faire deux form. Un user et un profileUser.

On enregistre le formulaire user, puis on récupère l'id créer et on enregistre le profileUser avec l'id de l'user fraîchement récupéré.

 

 

Nota Bene : En réfléchissant on se rend compte que dès qu'un user est créé il a un profil de créer donc la clé étrangère n'est pas très utile :p.

 

Merci de me guider ^^!!

 

Ajouter une réponse à la discussion

Seuls les membres connectés sont autorisés à poster dans les forums !

Identifiez-vous
Join |  ID/MDP? |