Bonjour,
Je n'arrive pas à passer mon objet dans le constructeur de mon formType.
En fait dans mon formType, j'ai besoin de connaître l'objet pour créer ou non certains champ.
Donc j'ai créé un contructeur dans lequel je passe mon objet lors de la construction de mon formulaire.
Le problème c'est que symfony me dit que ce n'est pas un objet, mais un id qui est passé.
ContextErrorException: Catchable Fatal Error: Argument 3 passed to \DataBaseBundle\Form\HospitalType::__construct() must be an instance of \DataBaseBundle\Entity\Hospital, integer given
J'ai fait un var_dump avant d'appeler mon constructeur et pourtant ça ressemble bien à mon objet.
Voici mon controlleur :
1 2 3 4 5 6
| $siteUser = $em->getRepository('DataBaseBundle:Hospital')->findOneByProfile($linkProfile);
$formSiteUser = $this->createForm(new HospitalType($page,
$this->generateUrl('repro_site', array('page' => $page)),
$siteUser
),
$siteUser); |
Dans mon HospitalType :
1 2 3 4 5 6 7 8 9 10 11 12
| class HospitalType extends AbstractType
{
private $page = 0;
private $urlAction;
private $hospital = null;
public function __construct($page, $url, \DataBaseBundle\Entity\Hospital $ssh) {
$this->page = $page;
$this->urlAction = $url;
$this->hospital = $ssh;
}
... |
Il faut que je refasse une requete dans mon formType pour récupérer à nouveau l'objet ?
Merci de votre aide.
Partager