2013-04-01 249 views
1

我有問題使用Symfony2從我的數據庫刪除記錄。希望有人能幫助我。Symfony2刪除記錄

這裏是我的代碼:

// Get user's account 
$account = $this->getUser()->getAccount(); 

// Get manager 
$em = $this->getDoctrine()->getManager(); 

// Get entity 
$entity = $em->getRepository('WICPurchaseOrderLineItemBundle:PurchaseOrderLineItem')->findBy(array('account'=>$account->getId(), 'id'=>$id)); 

// If not entity 
if (!$entity) { 
throw $this->createNotFoundException('Unable to find this entity.'); 
} 

// Remove the record... 
$em->remove($entity); 
$em->flush(); 

// Go to this url... 
return $this->redirect($this->generateUrl('purchaseOrder_view', array('id' => '8'))); 

當這樣跑,我得到這個錯誤:

EntityManager#remove() expects parameter 1 to be an entity object, array given. 

我的URL看起來像這樣:

{{ path('purchase_order_remove_line_item', { 'id': purchaseOrderLineItem.id }) }} 

請問我的「身份證「數字需要先變成一個對象?不知道如何解決這個問題,仍然在學習Symfony。

任何人有任何建議嗎?

回答

3

你只需要使用而不是findBy方法findOneBy方法。

$entity = $em->getRepository('WICPurchaseOrderLineItemBundle:PurchaseOrderLineItem')->findOneBy(array('account'=>$account->getId(), 'id'=>$id));