Symfony - Récupérer l'user dans un formulaire
Voici une méthode très simple pour récupérer l'utilisateur actuellement connecté dans un formulaire.
On peut souvent devoir le récupérer pour ensuite faire une requête sur un repository afin de récupérer les données liées à cet utiilisateur
use Symfony\Component\Security\Core\Security;
class ContactAddType extends AbstractType
{
private $security;
public function __construct(Security $security)
{
$this->security = $security;
}
public function buildForm(FormBuilderInterface $builder, array $options)
{
$user = $this->security->getUser();
$builder
->add('tags', EntityType::class, array(
'class' => Tag::class,
'query_builder' => function (EntityRepository $er) use ($user) {
return $er->createQueryBuilder('u')
->where('u.user = :user')
->setParameter('user', $user->getId())
;
},
'expanded' => true,
'multiple' => true
))
}
}
19/10/2020