1

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 }) }}

最初に「id」番号をオブジェクトに変換する必要がありますか? これを修正する方法がわからないため、まだ Symfony を学習しています。

誰にも提案はありますか?

4

1 に答える 1

3

findOneByメソッドの代わりにメソッドを使用するだけですfindBy

$entity = $em->getRepository('WICPurchaseOrderLineItemBundle:PurchaseOrderLineItem')->findOneBy(array('account'=>$account->getId(), 'id'=>$id));
于 2013-04-02T00:23:16.040 に答える