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