如何使用存储库自定义EntityType数据

时间:2019-03-18 14:53:27

标签: php symfony repository 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 个答案:

答案 0 :(得分:2)

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");
                    },
        ])