Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony] Porblem z json
Forum PHP.pl > Forum > PHP > Frameworki
rychu123
Witam, mam pewien problem. Wyciągam dane z bazy i chce wrzuci dane do json. Problem jest w tym ze dostaje puste dane w json tzn


[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{
},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{
},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{
},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{
},{},{},{},{},{},{},{}]


  1. $e = $this->getDoctrine()->getManager();
  2.  
  3. $clients = $e->getRepository('AppBundle:Client')->findAll();
  4.  
  5. // return $this->render('client/index.html.twig', array(
  6. //'clients' => $clients ));
  7.  
  8. return new Response(json_encode($clients), Response::HTTP_OK, array(
  9. 'Content-Type' => 'application/json' ));
Turson
Nie możesz ot tak zrobić JSONa z encji. Pobierz z repozytorium tablicę (array) i ją przekonwertuj do jsona
Albo zobacz http://php.net/manual/pl/class.jsonserializable.php
rychu123
przecież $clients jest tablica
Turson
Ale każdy element tablicy jest encją, chyba że repo robi co innego
rychu123
Oświeć mnie bo bez kitu ale niewiem

dump mi zwraca

array:115 [?
0 => Client {#1178 ?}
1 => Client {#1180 ?}
2 => Client {#1181 ?}
Turson
Niech AppBundle:Client imlementuje http://php.net/manual/pl/class.jsonserializable.php i udostępnia metodę, jak zrobić jsona z klasy
rychu123
NIe wiem, nie znam symfony 2
Turson
Tu nie chodzi o znajomość Symfony.

  1. class Client implements JsonSerializable{
  2.  
  3.  
  4. protected $id;
  5.  
  6. protected $name;
  7.  
  8. public function jsonSerialize(){
  9. return [
  10. 'id' => $this->id,
  11. 'name' => $this->name,
  12. ];
  13. }
  14.  
  15. }
rychu123
a niemożna tego zrobić w controller?
kapslokk
Można, np tym: http://symfony.com/doc/current/components/serializer.html

Co nie zmienia faktu, że metoda, którą podał Turson zdaje się być lepsza smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.