Bonjour,
peux tu nous montrer RegistrationFormType stp ?
Bonjour à tous
voilà j'ai intégré mon fosuserbundle pour l'adapter à un projet. J'ai entité enseignant qui a les proprieté classe, ecole, qui sont des entités en relation avec lui. puisque tout les éléves crées par un enseignant sont dans la même classe et la même école, je souhaite récupéré ses informations chez l'enseignant pour automatiquement affecté à chaque élève qu'il créé. voici mon code
//EleveController
//User.php
Quelqu'un peut-il m'aider?
entre autre comment faire pour rendre le champ email facultatif dans fosuserbundle (nullable=true)?
Bonjour,
peux tu nous montrer RegistrationFormType stp ?
Bien sur
A noter que j'ai remove les champs à remplir automatiquement avec une fonction jquery
Pourquoi il y a t-il des champs pour ecole et classe dans RegistrationFormType ?
Parceque j'utilise le même formulaire pour enregistrer les enseignants et les élèves. chez les enseignant , ces champs doivent exister.
Bonjour,
désolé mais qu'entends tu par "ça ne marche pas..." ? Il n'y a pas de valeurs séléctionnées dans ton formulaire pour les champs select ecole et classe ?
Toujours est-il qu'à ta place je découplerai enseignant et élève dans deux entités différentes. Qu'arrivera t-il quand tu aura besoin par exemple d'ajouter une propriété ancienneté "non nullable" à ton enseignant pour, par exemple bidon, calculer son salaire ? tu sera obligé d'attribuer une ancienneté à tes élèves, bizarre non ? Dans l'esprit enseignant et élève n'ont rien à voir. C'est juste un conseil.
salut nico, lorsque je soumet le form j'ai l'erreur
t'es tu assuré que $classe = $user->getClasse() n'était pas null ?
et pour le coup $ecoles = $user->GetEcole(); n'était pas null n'ont plus, car alors tu auras le même problème
je pense que tout vient du fait que ton user étend le BaseUser, pour le passage en session ton user est sérializé, par une fonction définie dans BaseUser certainement ( je connais pas bien FosUserBundle, je ne l'utilise jamais) hors par définition BaseUser ne connait rien des relations avec classe et ecole, donc le user sérializé n'a aucune référence des propriétés classe et ecole ce qui fait qu'une fois désérialisé ($user = $this->getUser()) les propriétés ecole et classe sont nulles ... cqfd.
Soit tu redéfinie la méthode de sérialisation pour le stockage en session ce qui serait la meilleurs solution, soit au pire dans ton controller :
Au pire car tu feras une connexion inutile à la base de données, et tu devras ne pas oublier de le faire à chaque fois que nécéssaire.
Dis moi si au moins ce bout de code fonctionne, que cela confirma ou pas le coup de la sérialisation.
Merci
pour confirmation, methodes de serialisation/deserialisation de FOS\UserBundle\Model\User :
il faut redéfinir ces deux fonction dans ta classe user pour y incorporer les propriétés ecole et classe. Attention il faudra que les classes Ecole et Classe soient elle mêmes sérialisable ( = implements \Serializable ) et attention aux références circulaires
//Attention il faudra que les classes Ecole et Classe soient elle mêmes sérialisable ( = implements \Serializable )
je ne comprends pas bien, pouvez vous m'expliquer? je ne suis que débutant
même chose à faire pour Classe
Dans ta classe User :
je te mache le travail, là !!!!
Merci, Nico, je teste ca dès que je suis dispo et je te fais un retour. parfois, même après avoir maché, avaler est difficile pour un débutant :)
tiens moi au jus ;)