Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony][Symfony2][SF2]NonUniqueResult, 500 Internal Server Error
newbie96
post
Post #1





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 31.12.2011

Ostrzeżenie: (0%)
-----


Witam, chciałbym wyświetlić nazwę użytkownika danego komentarza.Tym kawałkiem wyświetlam komentarze.
  1.  
  2. $repository = $this->getDoctrine()
  3. ->getRepository('AcmeMainBundle:Comments');
  4. $query = $repository->createQueryBuilder('c')
  5. ->where('c.post_id ='. $postId)
  6. ->getQuery();
  7.  
  8. $comment = $query->getResult();
  9.  
A tym próbuję pobrać nazwę użytkownika.
  1.  
  2. $id = $query->getSingleResult()->getUser_id();
  3.  
  4. $UserComment = $this->getDoctrine()
  5. ->getRepository('AcmeMainBundle:Comments')
  6. ->find($id);
  7.  
  8. $username = $UserComment->getUsers()->getName();
Lecz symfony wyrzuca 500 Internal Server Error - NonUniqueResultException. Jak mogę inaczej pobrać id? lub co muszę zmienić żeby nie było błędu?
Dodam że jeśli stworzę stalą id, to wyświetli się nazwa.

Będę wdzięczny za każdą pomoc.
Pozdrawiam

Ten post edytował newbie96 30.08.2013, 16:03:42
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Pytanie... Po co są relacje, skoro z nich nie korzystasz? Skoro masz już komentarze, to dla każdego wywołanie getUsers (a zapewne taka metoda jest w klasie Comments), zwrócić Ci powinna encję Usera. Z niej sobie możesz co chcesz wyciągnąć o użytkowniku.

Co do błędu to jak wół pisze w dokumentacji Symfony2 przy Doctrine:
Cytat
The getSingleResult() method throws a Doctrine\ORM\NoResultException exception if no results are returned and a Doctrine\ORM\NonUniqueResultException if more than one result is returned.
Chyba już wiesz gdzie szukać błędu (IMG:style_emoticons/default/smile.gif)

Poza tym logika nieco mnie przytłacza... Używasz USER_ID by przypisać je do comment id i potem chcesz z jego pomocą wyciągać username... Coś chyba jest tu nie tak...
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 17:54