Dans le cas d'un super admin qui créer les matières et les attribue aux utilisateurs, dans le formulaire :
//...
$builder
->add('nom')
->add('statut')
->add('user', EntityType::class,[
"label"=>"utilisateur",
'choice_label' => 'lastname',
"class"=>User::class,
"query_builder"=>function(EntityRepository $repo){
return $repo->createQueryBuilder("u")->orderBy("lastname");
}
])
;
//....
rien à changer dans le controller
la liste des utilisateurs sera dans dans un champ select.
Dans le cas de l'utilisateur qui crée lui même ses matières :
L'utilisateur doit être loggué
pas de champ "user" dans le formulaire
Dans le controller :
function newAction(Request $request){
$user = $this->getUser();
$matiere = new Matiere();
$matiere->setUser($user);
$form = $this->createForm('App\BackBundle\Form\MatiereType', $matiere);
$form->handleRequest($request);
// ... le reste ...
}