0
我正在Symfony 2.8应用程序中处理表单。Symfony 2.8表单实体类型定制属性
我有一个实体对象,该实体可以有一个或多个子对象。 这些子对象由属性ID标识,但也由属性密钥标识。
默认情况下,在HTML(subObject .__ toString())中使用id属性中的值。我想使用属性中的。
我似乎无法找到如何做到这一点?
PS:我不能使用子对象的__toString()方法,因为这是已经在使用一些其他的目的?
想法将不胜感激。
<?php
namespace My\Bundle\ObjectBundle\Form\Type\Object;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface;
class ObjectType extends AbstractType
{
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('code', TextType::class, [
'required' => true,
])
->add('subObjects', EntityType::class, [
'class' => 'My\Bundle\ObjectBundle\Entity\SubObject',
'multiple' => true,
])
}
}
我不明白你想用钥匙做什么,你能提供一个你想要实现的例子吗? – Richard
@Richard我没有在任何地方显示SubObject的“id”。只有“钥匙”是对外界的“已知财产”。我想要做的是做到这一点:form [subObjects] [0] = 7TBF65Dtufbg7ung&form [subObjects] [1] = IBIU76ghh并使用这些“键”从DB加载SubObject并将它们“连接”到Object 。 我希望我已经解释清楚了.. –
我明白了。根据你的逻辑标准写一个表单监听器来填充subObjects集合可能是最好的。 – Richard