0

イメージを持つことができるエンティティがあります。これは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 を含み、新しく選択されたオブジェクトを格納する非表示のテキスト フィールドを取得するにはどうすればよいですか?

4

0 に答える 0