Symfony2アプリには2つの別個のエンティティ、つまりAとBがあり、これらはORMDoctrine2を使用してDBにマップされます。
ここで、エンティティAとBのすべてのフィールドを含む単一のフォームで一意のWebページを作成したいと思います。どうやってやるの?
Symfony2アプリには2つの別個のエンティティ、つまりAとBがあり、これらはORMDoctrine2を使用してDBにマップされます。
ここで、エンティティAとBのすべてのフィールドを含む単一のフォームで一意のWebページを作成したいと思います。どうやってやるの?
次のようなフォームタイプを作成できるはずです。
class ComplexType extends AbstractType
{
public function buildForm(FormBuilder $builder, array $options)
{
$builder
->add('entity_a', new SimpleAType(), array(
))
->add('entity_b', new SimpleBType(), array(
));
}
public function getName()
{
return 'complex_type';
}
}
$form->getData() を呼び出すと、オブジェクトの連想配列を取得する必要があります。$form->setData を呼び出すときは、設定したいオブジェクトを含む連想配列を渡す必要があります。
これについては、Symfony のドキュメントに次の章があります:フォームのコレクションを埋め込む方法。