Tomasz
Faszyński
Specjalista ds.
programowania
Temat: [Symfony2] Dodanie nowej encji do projektu,
Cześć,Mam projekt w Symfony2, który działa. Chcę do niego dodać nową encję. Stworzyłem tabelę w bazie danych i stworzyłem plik Flag.php, który ma początek:
namespace Ex\CaBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
/**
* Ex\CaBundle\Entity\Flag
*
* @ORM\Table(name="Flag")
* @ORM\Entity(repositoryClass="Ex\CaBundle\Entity\FlagRepository")
*/
class Flag {
Dalej są pola jak w bazie + gettery/settery.
Dodałem również plik FlagRepository.php:
namespace Ex\CaBundle\Entity;
use Doctrine\ORM\EntityRepository;
class FlagRepository extends EntityRepository {
public function getFlags() {
$q = $this->createQueryBuilder('f')
->getQuery()
->getResult();
return $q;
}
}
Teraz w kontrolerze chcę pobrać wszystkie rekordy z tabeli Flag w bazie korzystając z funkcji getFlags:
$flags = $this->getDoctrine()->getRepository('ExCaBundle:Flag')->getFlags();
Niestety otrzymuję błąd 500. Nie wiem, czy błąd jest w funkcji getFlags, czy nie widoczny jest plik FlagRepository?
Czy muszę coś dodawać w jakiś plikach konfiguracyjnych? Generować? Pliki dodałem ręcznie.
Jak zrobię:
$flags = $this->getDoctrine()->getRepository('ExCaBundle:Flag')->findAll();
To otrzymam wyniki, pobierze rekordy z bazy. Ale chcę użyć swojej funkcji.