2014-12-14 1 views
0

아약스 요청을 보내는 세션 var bu에 여러 개의 val의 배열을 추가하려고합니다. 나는 이것을한다 :세션을 Symfony2에 추가하십시오.

public function addFoodAction(Request $request) 
{ 
    $foodId = json_decode($request->getContent(), true)['food']; 
    $food = $this->getDoctrine()->getRepository('HackatonDinningRoomBundle:Food')->find($foodId); 
    $arr = array(); 
    $arr[]=$food; 
    $session = $this->get('session'); 
    $session->set('items', array($food)); 

    return new Response(count($arr)); 
} 

나는 그것을 어떻게 할 수 있는가?

+0

난 당신의 코드를하지만 당신은 무엇을 기대하고 당신이 실제로 무엇을 받고 몇 가지 문제를 참조하십시오

$session->set('items', serialize(array($food))); 

데이터를 검색하려면? –

답변

3

사용 serialize :

unserialize($session->get('items')); 
+2

@ Gnucki가 말한 것에 더하여, PHP에서 기본 시리얼 라이저 이외의 것을 사용하는 것이 좋습니다. 순환 참조와 같은 경우 프로그램이 중단 될 수 있습니다. jms/serializer (symfony/serializer도 작동합니다)를 권하고 싶습니다. – echochamber

+0

echochamber가 맞습니다. 직렬화 된 객체가 약간 복잡하면 [JMSSerializer] (http://jmsyst.com/libs/serializer)를 살펴보아야합니다. – Gnucki

관련 문제