私はSymfony 2.8アプリケーションのフォームを作成しています。Symfony 2.8フォームエンティティタイプのカスタムプロパティ
私はエンティティオブジェクトを持ち、そのエンティティは1つ以上のサブオブジェクトを持つことができます。 サブオブジェクトは、プロパティ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
@リチャード私はどこにでもSubObjectの "id"を表示していません。 "キー"だけが外界の "有名な財産"です。私がしたいのはこれを行うことです:form [subObjects] [0] = 7TBF65Dtufbg7ung&form [subObjects] [1] = IBIU76ghhこれらの "keys"を使ってSubObjectをDBからロードし、Object 。 私はそれを正しく説明したと思います。 –
私は参照してください。あなたのロジック基準に基づいてsubObjectsコレクションを生成するフォームリスナーを記述するのが最善でしょう。 – Richard