2016-05-26 6 views
1

私はチケットと呼ばれるエンティティを持っています。コントローラから別のオブジェクトにオブジェクトの配列を渡します。 Symfony2

私のコントローラの1つでは、他のコントローラに送信したい配列またはTicketがあります。

私の最初のコントローラ:

//some code... 

return $this->redirect($this->generateUrl('tracker_ticket_view', array(
      'TicketId' => $ticket->getId(), 
      'lticket' => $lticket //$lticket contains an array of tickets 
     ))); 

私の他のコントローラ:

@Route("/view/{TicketId}/{lticket}", 
* defaults = { "lticket" = null}, 
* name="tracker_ticket_view") 
* @ParamConverter("ticket", class="AtgpTrackerBundle:Ticket", options={"id" = "TicketId"}) 
* @Template() 
*/ 
public function viewAction(Ticket $ticket, Request $request, Array $lticket) 
{  

//some code... 

このコードは明らかに私の文字列例外の配列を与えます。私は、ルートに出現する必要があると思うが、symfonyは何をタイプするのか分からない。

私がここで行ったように、Param Converterのおかげでユニークなオブジェクトをコントローラ経由で送信できますが、オブジェクトの配列をどのように処理するかはわかりません。

答えて

1

/view/{TicketId}/{lticket}ルートを定義する代わりに、クエリ文字列に配列を渡します。

/** 
* @Route("/view/{TicketId}", defaults = { "lticket" = null}, name="tracker_ticket_view") 
* @ParamConverter("ticket", class="AtgpTrackerBundle:Ticket", options={"id" = "TicketId"}) 
* @Template() 
*/ 
public function viewAction(Ticket $ticket, Request $request) 
{ 
    $lticket = $request->query->get('lticket'); 
+0

ありがとうございます!それは動作します:) – abernard

+0

答えとして受け入れられたとマークしてください。 – COil

関連する問題