猿问

在 `EntityType` Query_builder 中使用 `$options`

我使用表单生成器来创建我的表单。我将选项团队添加到FormBuilderInterface表单中以访问此属性。


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,我需要使用团队选项来执行查询,但我不知道如何继续。


到目前为止,我尝试过:


'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}() 的参数太少,1 传入 /Users/pierrickrambaud/Sites/team-manager/vendor/symfony/doctrine-bridge/Form/Type/EntityType.php在第 32 行,预计正好 2


有人知道黑客吗?


人到中年有点甜
浏览 89回答 1
1回答

烙印99

这应该有效:'query_builder' => function (StatTagRepository $rep) use ($options) {    return $rep->queryActivated($options['team']);}
随时随地看视频慕课网APP
我要回答