Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony][Symfony2][SF2]Pobieranie ilości rekorów
Forum PHP.pl > Forum > PHP > Frameworki
gentleman
Witam, chciałbym pobierać ilość komentarzy w danym temacie.Czytając forum dowiedziałem się że najepszym sposobem jest trzymanie tej liczby w bazie. Problem pojawił się podczas zwiększania liczby o 1. Jak zwiększyć wartość o 1?

oto kod który nic nie robi biggrin.gif
Kod
          $em = $this->getDoctrine()->getEntityManager();
              $thread = $em->getRepository('AcmeMainBundle:Thread')->findOneById($id);
              $thread->setCount(1++);
              $em->persist($thread);
              $em->flush();
destroyerr
Co niby ma robić ta linijka: $thread->setCount(1++); ? Zero związku z Symfony2 a nawet o Doctrine ciężko tu mówić.
Do czego potrzebujesz tej linijki: $em->persist($thread); ?
cadavre
Jeśli już to chyba bardziej coś pokroju:
  1. $em = $this->getDoctrine()->getEntityManager();
  2. $thread = $em->getRepository('AcmeMainBundle:Thread')->findOneById($id);
  3. $thread->setCount($thread->getCount()+1);
  4. $em->flush();

Czy po prostu w encji dodać metodę:
  1. function increaseCount()
  2. {
  3. $this->count++;
  4. }

Ale prawdę mówiąc - w zależności od obciążenia, z Doctrine 2.1 i średniej wielkości bazą lepiej skorzystać z Extra lazy loadingu.
Ref: http://docs.doctrine-project.org/projects/...sociations.html

BTW Tak jak destroyerr wspomniał - persist() używa się tylko podczas tworzenia obiektu i informowania EM o tym, że jest to obiekt zarządzany. Podczas pobierania z bazy, potem edycji i flushowania - persista nie stosujemy. 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.