我有两个表 - products
和product_photos
。它们是1:1的关系。我基于products
表创建表单(使用doctrine ORM)。但我想从product_photos
表中添加一个字段 - 我该怎么做?
public function editProductDataAction($id, Request $request)
{
// entity manager
$em = $this->getDoctrine()->getManager();
// repository
$r = $em->getRepository('AdminBundle:Product');
// entity handler
$product = $r->find($id);
$form = $this->createForm(new EditCommonType(), new Product(),
[
'action' => $this->generateUrl('product_edit', ['id' => $id]),
'attr' => ['class' => 'stdform', 'enctype' => 'multipart/form-data'],
'repository_name' => 'AdminBundle:Product'
]);
$form->add('productPhoto', new ProductPhotoType());
$form->add('save', 'submit', ['attr' => ['class' => 'submit radius2']]);
$form->handleRequest($request);
//...
}
实体不变。 FormTypes也是。 Twig文件:
{% form_theme form 'AdminBundle::common_edit_form.html.twig' %}
{{ form(form) }}
{{ form.productPhoto.photoName }} {# photoName - column from productPhoto table #}
现在,我收到Method "productPhoto" for object "Symfony\Component\Form\FormView" does not exist in AdminBundle:Product:edit.html.twig at line 23
错误,这是在上面的twig代码的最后一行。
如果您需要更多代码,请在评论中输入。
答案 0 :(得分:1)
你可以用这个:
{{form(form.productPhoto.vars.prototype.name)}}