Tomasz Faszyński

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.
Krzysztof N.

Krzysztof N. CEO. Aplikacje
internetowe i
mobilne. Symfony,
Zend.

Temat: [Symfony2] Dodanie nowej encji do projektu,

Tomasz F.:
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
Takie rzeczy możesz szybko i sprawnie wykonać za pomocą terminala i komend Symfony.
Tomasz F.:
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.
Dodaj ją do Twojej klasy FlagRepository i wówczas błąd ustąpi.

konto usunięte

Temat: [Symfony2] Dodanie nowej encji do projektu,

następnym razem z terminala:

> php app/console doctrine:generate:bundle

wpisujesz:

> ExCaBundle:Flag

podajesz pola, potwierdzasz utworzenie repo i potwierdzasz generowanie pliku. Tyle.
Swoją drogą jeżeli nie dostałeś całego błędu ze stacktrace to znaczy że projekt jest w trybie prod. Przełącz go na dev.

Następna dyskusja:

Integrator projektu stron i...




Wyślij zaproszenie do