2012-04-21 103 views
2

我有一種表單,您可以在其中編輯對象「one」的屬性。該對象與另一個對象「many」具有一對多關係。我希望用戶能夠從表單中爲「one」選擇一個「多」對象。我無法弄清楚如何做到這一點!如何從Symfony中的對象列表中選擇2編輯對象表格

現在:

\實體\ One.php

class One 
{ 
... 
    /* 
    * @ORM\ManyToOne(targetEntity="many", inversedBy="one") 
    * @ORM\JoinColumn(name="manyId", referencedColumnName="id") 
    */ 
    protected $manyId; 
... 
} 

\控制器\ OneController.php

class OneController extends Controller 
{ 
    ... 
    public function editAction($oneId, Request $request) 
    { 
     if ($oneId) { 
      $one = $this->getDoctrine() 
       ->getRepository('One') 
       ->find($oneId); 
     } else { 
      $one = new One(); 
     } 

     $em = $this->getDoctrine()->getEntityManager(); 
     $manyEntity = 'Bundle\Entity\Many'; 
     $manyList = new EntityChoiceList($em, $manyEntity); 

     $form = $this->createFormBuilder($one) 
      ->add('many', 'choice', array('choice_list' => $manyList)) 
      ->getForm(); 

     if ($request->getMethod() == 'POST') { 
      $form->bindRequest($request); 

      if ($form->isValid()) { 
       $entityManager = $this->getDoctrine()->getEntityManager(); 
       $entityManager->persist($one); 
      } 
     } 
    } 
... 
} 

這將導致錯誤消息 「類型的參數預期」 標「,」Proxies \ BundleEntityManyProxy「給出」。

感謝您的幫助!

回答

相關問題