我有一个TextType,它实际上是一个Entity(ArticleBundle)。我需要使用TextTpe,因为我想让jQuery自动完成工作。
通过选择建议,TextType将使用Bundle名称填充。不幸的是,捆绑包名称不是唯一的。所以我不能马上使用数据转换器。
我添加了一个隐藏的类型字段,当选择捆绑包名称时,该字段将填充唯一的ID。我应用了一个传递此ID的数据转换器,就得到了转换后的对象!
现在是实际问题:我需要获取与隐藏类型字段相关的转换后的Article Bundle对象,并将其放置到上述的articleBundle字段中,以便将对象存储在数据库中。
预先感谢您的支持
$builder
->add('articleBundle', TextType::class, [
'attr' => ['class' => 'js-autocomplete'],
'mapped' => false,
])
->add('amount', null, ['label' => 'requirement.amount'])
->add('bundleId', HiddenType::class, [
'mapped' => false,
'attr' => ['class' => 'bundleId'],
])
->get('bundleId')
->addModelTransformer(new IdToArticleBundleTransformer(
$this->articleBundleRepository,
$options['finder_callback']
))
;