我使用表单生成器创建表单。我在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个
有人知道有黑客吗?