Symfony2删除记录

时间:2013-04-01 23:35:30

标签: symfony

我在使用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.

我的网址如下:

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

我的“id”号码是否需要先变成对象?不知道如何解决这个问题,仍在学习Symfony。

有人有什么建议吗?

1 个答案:

答案 0 :(得分:3)

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

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