在EntityType Query_builder中使用$ options

我使用表单生成器创建表单。我在FormBuilderInterface中添加了 team 选项,以在表单中访问此属性。

class PersonnalStatType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder,array $options)
    {
        $builder
            ->add('tag',EntityType::class,[
                'class' => StatTag::class,'choice_label' => 'name','query_builder' => function (StatTagRepository $rep/*,$options*/)
                    {
                        return $rep->queryactivated($options['team']);
                    }
                ]
            )
        ;
    }

    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults([
            'data_class' => PersonnalStat::class,'team' => null
        ]);

        $resolver->setallowedTypes('team',['null',Team::class]);
    }

第一行是EntityType,我需要使用 team 选项来执行查询,但是我不知道如何进行。

到目前为止,我已经尝试过:

'query_builder' => function (StatTagRepository $rep)
    {
        return $rep->queryactivated($options['team']);
    }

但查询不知道$options

  

注意:未定义的变量:选项

还有

'query_builder' => function (StatTagRepository $rep,$options)
    {
        return $rep->queryactivated($options['team']);
    }

但无法识别$options

  

函数App \ Form \ PersonnalStatType :: App \ Form {closure}()的参数太少,在/ Users / pierrickrambaud / Sites / team-manager / vendor / symfony / doctrine-bridge / Form / Type /第32行上的EntityType.php,正好是2个

有人知道有黑客吗?

hjxu1729 回答:在EntityType Query_builder中使用$ options

这应该有效:

'query_builder' => function (StatTagRepository $rep) use ($options) {
    return $rep->queryActivated($options['team']);
}
本文链接:https://www.f2er.com/2980095.html

大家都在问