Bonjour,

J'essaie actuellement de valider un formulaire où je créé un entité qui va être lié à deux autre entité déjà existante.

en fait j'ai une classe Space qui à un Type et un User.

Je précise que ma classe User est hérité du FOSUserBundle.

Pour plus de clarté je vais donner ma classe Space :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
class Space
{
	/**
	 * @ORM\GeneratedValue
	 * @ORM\Id
	 * @ORM\Column(type="integer")
	 * @ORM\GeneratedValue(strategy="AUTO")
	 */
    private $id;
 
	/**
	 * @ORM\Column(type="string",length="45")
	 * @Assert\NotBlank()
	 */
    private $name;
 
        /
	//--------J’enlève les attribut inintéressant
        /
 
	/**
	 * @ORM\ManyToOne(targetEntity="Type")
	 */ 
    private $type;
 
	/**
	 * @ORM\ManyToOne(targetEntity="app\UserBundle\Entity\User", inversedBy="Space")
	 * @ORM\JoinColumn(name="user_id", referencedColumnName="id")
	 *
	 * @var User $User
	 */
    private $user;
mon probléme est que lors de la création de mon formulaire je voudrais afficher 2 listes déroulantes avec dans une les type et dans l'autre les users.

Pour la liste déroulante de Type pas de soucis mais pour la liste des users j'obtiens l'erreur suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
request.CRITICAL: ErrorException: Catchable Fatal Error: Argument 1 passed to app\MainBundle\Entity\Space::setUser() must be an instance of app\UserBundle\Entity\User, null given, called in xxxxxxxx\project\vendor\symfony\src\Symfony\Component\Form\Util\PropertyPath.php on line 346 and defined in xxxxxxxxx\project\src\app\MainBundle\Entity\Space.php line 224 (uncaught exception) at xxxxxxx\project\vendor\symfony\src\Symfony\Component\HttpKernel\Debug\ErrorHandler.php line 65 [] []
voila mon formulaire :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilder;
 
class SpaceType extends AbstractType
{
    public function buildForm(FormBuilder $builder, array $options)
    {
        $builder
            ->add('name')
        //
        //
        //
			->add('type', 'entity',array('class' => 'appMainBundle:Type','property' => 'libelle'))
			->add('user', 'entity',array('class' => 'appUserBundle:User','property' => 'id'))
        ;
    }
 
 
 
    public function getName()
    {
        return 'app_mainbundle_spacetype';
    }
 
	public function getDefaultOptions(array $options)
    {
        return array(
            'data_class' => 'app\MainBundle\Entity\Space',
        );
    }
}
merci d'avance