我嘗試使用表單更新數據庫中的數據。symfony2:更新數據錯誤
控制器:
public function addAction($id) {
$em = $this->getDoctrine()->getEntityManager();
$product = $em->getRepository('AcmeStoreBundle:Product')->find($id);
if (!$product) {
$product = new Product();
}
$form = $this->createForm(new PageAdd(), $product);
$request = $this->getRequest();
if ($request->getMethod() == 'POST') {
$form->bindRequest($request);
$name=$this->get('request')->request->get('name');
$price=$this->get('request')->request->get('price');
$description=$this->get('request')->request->get('description');
if ($form->isValid()) {
$product->setName($name);
$product->setPrice($price);
$product->setDescription($description);
$em->persist($product);
$em->flush();
/*Llamando a la plantilla de listados*/
$product = $em->getRepository('AcmeStoreBundle:Product')->findAll();
/*Enviando los datos a la plantilla y Renderizandola*/
return $this->render('AcmeStoreBundle:Default:pageadd.html.twig', array('Product' => $product));
}
}
return $this->render('AcmeStoreBundle:Default:show.html.twig', array('form' => $form->createView(), 'product' => $product));
}
和show.html.twig
文件
<form action="{{ path('Product_add',{'id':product.id}) }}"
{{ form_enctype(form) }}>
{{ form_errors(form) }}
{{ form_rest(form) }}
<input type="submit" value="Save This Page" class="savebutton" />
</form>
及其給我錯誤
方法 「ID」 爲對象「的Acme \ StoreBundle \實體\產品「在AcmeStoreBundle中不存在:默認值:show.html.twig,第2行 500內部服務器錯誤 - Twi g_Error_Runtime
不知道是否它的問題,但在一個你'使()'調用產品與資本「P」,而在其他小。 – Maerlyn 2012-07-26 15:48:47