add( 'author', TextType::class, [ 'required' => true, 'label' => 'Auteur', 'attr' => [ ], 'constraints' => [ new NotBlank(), ], ] ); $builder->add( 'website', UrlType::class, [ 'required' => false, 'label' => 'Site web', 'attr' => [ ], 'constraints' => [ new Url(), ], ] ); $builder->add( 'email', EmailType::class, [ 'label' => 'E-mail (non publié)', 'required' => false, 'attr' => [ ], 'constraints' => [ new Email(), ], ] ); $builder->add( 'content', TextareaType::class, [ 'label' => 'Commentaire', 'required' => true, 'attr' => [ ], 'constraints' => [ new NotBlank(), ], ] ); $builder->add( 'post', EntityType::class, [ 'label' => 'Article', 'class' => Post::class, 'choice_label' => 'title', 'required' => true, 'multiple' => false, 'attr' => [ ], 'query_builder' => function (EntityRepository $repo) { return $repo->createQueryBuilder('p') ->orderBy('p.id', 'DESC') ; }, 'constraints' => [ new NotBlank(), ], ] ); $builder->add( 'parentComment', EntityType::class, [ 'label' => 'Réponse à', 'class' => Comment::class, 'required' => false, 'multiple' => false, 'attr' => [ ], 'query_builder' => function (EntityRepository $repo) { return $repo->createQueryBuilder('c') ->orderBy('c.id', 'DESC') ; }, 'constraints' => [ ], ] ); $builder->add( 'isActive', CheckboxType::class, [ 'label' => 'En ligne', 'required' => false, 'attr' => [ ], 'constraints' => [ ], ] ); } public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults([ 'data_class' => Comment::class, ]); } }