手动选择相关实体

时间:2012-11-12 14:08:40

标签: forms symfony doctrine

我有一个可以拥有图像的实体。这是使用OneToMany关系完成的。现在我希望用户选择一个图像。我当然可以使用这样的form field

$builder->add('image', 'entity', array(
    'label' => 'Image',
    'class' => 'VendorNameBundle:Image',
    'property' => 'id',
) );

它按预期呈现所有ID的下拉列表。但我真正想要的只是隐藏的单个字段,并存储所选图像的id。

这样可行,但似乎不是一件好事......

类型

$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的隐藏文本字段并存储新选择的对象?

0 个答案:

没有答案