Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony] Doctrine zwraca jeden rekord
Forum PHP.pl > Forum > PHP > Frameworki
blackroger
Witam. Pierwszy raz spotkałem się z takim przypadkiem.
Mam takie zapytanie w Doctrine:

  1. $recordsObjs = Doctrine_Query::create()
  2. ->select('o.id as id, o.name as name, o.link as link, o.nr_places as nr_places')
  3. ->addSelect('dos.name as dict_order_status')
  4. ->addSelect('dot.name as dict_order_type')
  5. ->from('Order o')
  6. ->innerJoin('e.DictOrderStatus dos')
  7. ->innerJoin('e.DictOrderType dot')
  8. ->execute();


pojawia się tylko jeden record....pobierając bezpośrednio z bazy lub za pomocą Doctrine_Core::Hydrate_scalar można dostrzec rekordy normalnie w normalnej ilości. Problem pojawia się w przypadku gdy chcę to umieścić w obiektach.
Bazując na podobnym przypadku próbowałem rozwiązać problem:
http://forum.php.pl/lofiversion/index.php/t160529.html
Wywnioskowano tam, że Doctrine umieszcza wszystko w jednym obiekcie, jednak nikt tam do końca nie napisał jak poruszać się po tym obiekcie.

Wcześniej nie spotkałem się z tego typu zachowaniem Doctrine. Proszę o wyjaśnienie przez kogoś kto zetknął się z tym problemem.
Quadina
Jeżeli masz problem z poruszaniem się po obiekcie to spróbuj wydrukować go sobie tak:
  1. print_r($recordsObjs->toArray(false));

Zobacz jak się tam układają obiekty i szybko dojdziesz jakie funkcje powinieneś użyć.
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.