Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Doctrine] COUNT() w zapytaniu
Forum PHP.pl > Forum > PHP > Frameworki
Wave
Mam taką funkcję wyciągającą nazwy kategorii:
  1. public function getCategories()
  2. {
  3. $cat = $this->createQuery('c')
  4. ->select('c.id, ct.name, c.slug')
  5. ->LeftJoin('c.Translation ct');
  6. return $cat->execute();
  7. }


Wyświetlam je w ten sposób:
  1. <?php foreach ($cats as $cat): ?>
  2. <li><a href="<?php echo url_for( '@category?category=' .$cat->getSlug() ); ?>"><?php echo $cat->getName() ?></a></li>
  3. <?php endforeach; ?>


Chciałbym dodatkowo zliczać ilość ogłoszeń w danej kategorii, zmieniłem zapytanie na:

  1. public function getCategories()
  2. {
  3. $cat = $this->createQuery('c')
  4. ->select('c.id, ct.name, c.slug, COUNT(a.id) AS ile')
  5. ->LeftJoin('c.Translation ct')
  6. ->LeftJoin('c.Ads a')
  7. ->GroupBy('c.id');
  8. return $cat->execute();
  9. }


Niestety wyświetlanie przestało działać. Nadal są 2 obiekty w $cats natomiast np. $cat->getName() nie zwraca nic. Ktoś wie w czym jest problem?
smentek
Zdebuguj i wklej co dokladnie zawarte jest w $cats:

  1. var_dump( $cats->toArray() );


Sprawdź też w słowniku polsko angielskim co oznacza "cat" i "cats" tongue.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.