イメージを持つことができるエンティティがあります。これはOneToMany
関係を使用して行われます。ここで、ユーザーに画像を選択してもらいます。もちろん、次のform field
ように使用できます。
$builder->add('image', 'entity', array(
'label' => 'Image',
'class' => 'VendorNameBundle:Image',
'property' => 'id',
) );
期待どおり、すべての ID を含むドロップダウンをレンダリングします。しかし、私が実際に欲しいのは、非表示で、選択した画像の ID を格納する単一のフィールドだけです。
これは機能しますが、良いことではないようです…</p>
タイプ:_
$builder->add('_image', 'text', array(
'data' => $object->getImage()->getId(),
'property_path' => false
));
コントローラーで:
$_image = $form["_image"]->getData();
if ($_image) {
$image = $this->getDoctrine()->getRepository('VendorNameBundle:Image')->find($_image);
if ($image) {
$object->setImage($image);
}
}
私の質問は、関連するオブジェクトの ID を含み、新しく選択されたオブジェクトを格納する非表示のテキスト フィールドを取得するにはどうすればよいですか?