2013-04-01 3 views
1

У меня возникли проблемы с удалением записи из моего db с помощью 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

Вам просто нужно использовать метод findOneBy вместо метода findBy.

$entity = $em->getRepository('WICPurchaseOrderLineItemBundle:PurchaseOrderLineItem')->findOneBy(array('account'=>$account->getId(), 'id'=>$id)); 
Смежные вопросы