2016-01-03 3 views
3
I need to return $items array from 'http://localhost:8000/cart/viewall' 
controller action. But all i get is this error. 

Содержание ответа должно быть строкой или объектом реализации __toString(), «массив» дано.Возвращение массива из Symfony 2 действия контроллера

Это мой код,

/** 
* @Route("/cart/viewall") 
* @Template() 
*/ 
public function viewallAction() { 
    $items = array(1 => 'item 1', 2 => 'item 2');   
    return new Response($items); 
}  

Было бы здорово помочь, если кто-то может поставить решение.

+3

'новый JsonResponse ($ пункты);' и вы должны использовать хороший 'использование .... \ JsonResponse;' –

+1

Что вы имеете в виду «Мне нужно вернуть массив»? Контроллер в Symfony отвечает за возврат ответа, и поскольку ответ HTTP содержит тело, которое является просто строкой, ответ должен содержать строку. Возможно, вы хотите сказать, что хотите вернуть кодированный JSON массив? – xabbuh

+1

Подумайте о 'новом ответе', как о вызове' echo'. Это ответ на браузер, и он должен быть строкой. –

ответ

Смежные вопросы