add('submit', SubmitType::class,[ "label" => "Valider", "attr" => ["class" => "btn btn-success"], ] ); $access=$options["access"]; $userid=$options["userid"]; $builder->add('niveau01', EntityType::class, [ "class" => "App\Entity\Niveau01", "label" => $options["appNiveau01label"], "placeholder" => "== Choisir ".$options["appNiveau01label"]." ==", "choice_label" => "label", "disabled" => ($options["mode"]!="submit"), "query_builder"=> function (EntityRepository $er) use($access,$userid) { switch($access) { case "admin": return $er->createQueryBuilder('niveau01')->orderBy('niveau01.label','ASC'); break; case "modo": $result=$er->createQueryBuilder("table")->innerJoin("App:UserModo", "usermodo", Join::WITH, "table.id = usermodo.niveau01")->orderBy('table.label','ASC'); $result->andWhere("usermodo.user = :user"); $result->setParameter('user', $userid); return $result; break; } }, ] ); $builder->add('label', TextType::class, [ "label" =>"Label", ] ); } public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults(array( 'data_class' => 'App\Entity\Niveau02', 'mode' => "string", 'access' => "string", 'userid' => "string", 'appMasteridentity' => "string", 'appNiveau01label' => "string", 'appNiveau02label' => "string" )); } }