Doctrine – vlastni repozitar, jak na to?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.

- radik
 - Člen | 21
 
Cau,
jakym zpusobem muzu v doctrine udelat vlastni repository? Kdyz jsem zkusil
udelat:
Entita
/**
 * @ORM\Entity(repositoryClass="App\Models\Repository\User")
 */
class User extends \Kdyby\Doctrine\Entities\BaseEntity
{
...
Repozitar:
class User extends \Kdyby\Doctrine\EntityRepository
{
    public function FindByUsername($username)
    {
        $q=$this->_em->createQuery('SELECT u FROM User u WHERE u.username = :username');
        $q->setParameter('username', $username);
        return $q->getResult();
    }
}
ale nevim jak to pak pouzit v kodu a zkusim s $this->userRepository pracovat, tak to udela tohle:
$this->userRepository = $this->em->getRepository('App\Models\Entity\User');
Tak me to nevidi mou funkci coz chapu.
$this->userRepository = $this->em->getRepository('App\Models\Repository\User');
haze to Class „App\Models\Repository\User“ sub class of „Kdyby\Doctrine\EntityRepository“ is not a valid entity or mapped super class.
$this->userRepository = $this->em->getRepository('User');
Haze to Metadata of class User was not found, because the class is missing or cannot be autoloaded.
Dik

- leninzprahy
 - Člen | 150
 
Mělo by to být (Entity Manager vytvoří správný repozitář právě
podle anotace repositoryClass="App\Models\Repository\User"
v entitě)
$this->userRepository = $this->em->getRepository('App\Models\Entity\User');
Co ti to vrátí za chybu, když voláš?
$user = $this->userRepository->FindByUsername('nejakeJmeno');
smazal jsi cache?
Editoval leninzprahy (23. 12. 2016 14:19)