Как настроить данные EntityType с помощью репозитория

#php #symfony #repository #symfony4

#php #symfony #репозиторий #symfony4

Вопрос:

Я хочу получить варианты настройки из FormType

Это FormType:

 builder->add('demandes', EntityType::class, [
            'placeholder' => 'Choisissez une option',
            'class'    => DemandeCandidats::class,
            'mapped' => false,
        ])
  

И это репозиторий

 public function findActif($value)
{
    return $this->createQueryBuilder('d')
        ->andWhere('d.etat = :val')
        ->setParameter('val', "actif")
        ->getQuery()
        ->getResult()
    ;
}
  

Как добавить этот репозиторий в EntityType?

Комментарии:

1. Читайте об этом здесь symfony.com/doc/current/reference/forms/types /…

Ответ №1:

 builder->add('demandes', EntityType::class, [
            'placeholder' => 'Choisissez une option',
            'class'    => DemandeCandidats::class,
            'mapped' => false,
            'query_builder' => function(EntityTypeRepository $er) {
                    return $er->createQueryBuilder('d')
                           ->andWhere('d.etat = :val')
                           ->setParameter('val', "actif")
                           ->getQuery()
                           ->getResult();
                    },
        ])
  

Или

 builder->add('demandes', EntityType::class, [
            'placeholder' => 'Choisissez une option',
            'class'    => DemandeCandidats::class,
            'mapped' => false,
            'query_builder' => function(EntityTypeRepository $er) {
                    return $er->findActif("actif");
                    },
        ])