Php 删除Symfony 3.4下拉列表中的空选项

Php 删除Symfony 3.4下拉列表中的空选项,php,symfony,symfony-3.4,Php,Symfony,Symfony 3.4,我创建了一个表单,该表单用符合特定条件的用户填充下拉列表。但是,整个用户数组都是通过发送的,但是不符合条件的条目是空的,因此我有一个下拉列表,其中有很多空选项,我不希望看到这些选项。查看其他stackoverflow问题,使用了“占位符”和“空值”,但这些似乎不起作用 以下是表格中的代码: ->add( 'userParent', EntityType::class, [

我创建了一个表单,该表单用符合特定条件的用户填充下拉列表。但是,整个用户数组都是通过发送的,但是不符合条件的条目是空的,因此我有一个下拉列表,其中有很多空选项,我不希望看到这些选项。查看其他stackoverflow问题,使用了“占位符”和“空值”,但这些似乎不起作用

以下是表格中的代码:

        ->add(
            'userParent',
            EntityType::class,
            [   
                'class' => User::class,
                'choice_label' => function ($parents) {
                    return $parents->getUniqueName();
                }

            ]
        )
以及getUniqueName函数:

    public function getUniqueName() {

    $name = "";

    $nameBlock = json_decode($this->name, true);
    if (is_array($nameBlock) && isset($nameBlock['name'])) {
        $name = $nameBlock['name'];  
    } 
    return $name;
}

糟糕的是,我读得太快了


由于字段是序列化的,因此也不能使用自定义查询过滤没有名称的实体,但如果显示表单,则仍可以在呈现时忽略空名称。例如,通过窗体主题,通过重写默认的CysEyType主题,或者为字段设置自定义BuffiNd名称,并创建相关主题,在GutUnCurm()中传递空白值,然后将其传递给表单,谢谢,Aurelien,但是它仍然返回一个带有空值的下拉!
->add(
        'userParent',
        EntityType::class,
        [   
            'class' => User::class,
            'query_builder' => function (\Doctrine\ORM\EntityRepository $repository) {
                    // fetch data from the repository based on your criteria
                    return $repository->findUsersFunction();

                    //or create the query right here
                    //return $er->createQueryBuilder('u')->where(); ...
                }

        ]
    )