I have a problem with EntityType Multiple a register in database a result is : [{}, {}] because type is json but this json is empty... I don't fond a solve, can you help me ?
Controller:
public function gestion_group(Request $request, EntityManagerInterface $manager)
{
$groups = new GroupsManager();
$form = $this->createForm(AdminGroupType::class , $groups);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$groups->getU();
$manager->persist($groups);
$manager->flush();
$this->addFlash(
'success',
"La personne à bien été ajouter au groupe !"
);
return $this->redirectToRoute('admin');
}
return $this->render('admin/groups/index.html.twig', [
'form' => $form->createView()
]);
}
entity :
class GroupsManager
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\User", inversedBy="groupsManagers")
*/
private $manager;
/**
* @ORM\Column(type="json")
*/
private $u = [];
public function getId(): ?int
{
return $this->id;
}
public function getManager(): ?User
{
return $this->manager;
}
public function setManager(?User $manager): self
{
$this->manager = $manager;
return $this;
}
public function getU(): ?array
{
return $this->u;
}
public function setU(array $u): self
{
$this->u = $u;
return $this;
}
}
And form :
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('manager', EntityType::class, array(
'label' => 'Choisir le manager',
'class' => User::class,
'choice_label' => function ($user) {
return $user->getLastname() . '' . $user->getFirstname();
}
))
->add('u', EntityType::class, array(
'label' => 'Choisir un utilisateur',
'class' => User::class,
'choice_label' => function ($user) {
return $user->getLastname() . '' . $user->getFirstname();
},
'multiple' => true
));
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => GroupsManager::class,
]);
}
I would like add user with multiple choice for 1 manager to manage group of user i choice json type for it but is empty, can you help ?