我使用表单生成器来创建我的表单。我将选项团队添加到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有人知道黑客吗?
1 回答

烙印99
TA贡献1829条经验 获得超13个赞
这应该有效:
'query_builder' => function (StatTagRepository $rep) use ($options) {
return $rep->queryActivated($options['team']);
}
- 1 回答
- 0 关注
- 88 浏览
添加回答
举报
0/150
提交
取消