Я работаю над формой в приложении Symfony 2.8.Symfony 2.8 form entity type custom property
У меня есть объект Object, и этот объект может иметь один или несколько SubObjects. Эти объекты SubObjects указаны имуществом id, а также недвижимостью ключ.
По умолчанию значение свойства id используется в HTML (subObject .__ toString()). Я хочу использовать свойство ключ в.
Я не могу найти, как это сделать ...
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 Я не показываю «id» SubObject где угодно. Только «ключ» является «известным свойством» для внешнего мира. Я хотел бы сделать это: form [subObjects] [0] = 7TBF65Dtufbg7ung & form [subObjects] [1] = IBIU76ghh и использовать эти «ключи» для загрузки SubObject из БД и «подключить» их к объекту , Надеюсь, я объяснил это правильно. –
Я вижу. Вероятно, было бы лучше написать прослушиватель форм, который заполняет коллекцию subObjects на основе ваших логических критериев. – Richard