2012-05-14 5 views
2

Я следил за каждым шагом в книге, но я не могу работать с каким-либо обычным репозиторием сущности.Symfony2 Пользовательский репозиторий не работает

К примеру, у меня есть сущность пользователя:

/** 
* @ORM\Table("fos_user") 
* @ORM\Entity(repositoryClass="XXX\UserBundle\Repository\UserRepository") 
*/ 
class User extends BaseUser implements ParticipantInterface 
{ 
} 

И это хранилище Класс:

namespace XXX\UserBundle\Repository; 

use Doctrine\ORM\EntityRepository; 

/** 
* UserRepository 
* 
* This class was generated by the Doctrine ORM. Add your own custom 
* repository methods below. 
*/ 
class UserRepository extends EntityRepository 
{ 

    public function initializeUser() 
    { 
     //some logic 
    } 

} 

Но когда я называю $ user-> initializeUser(); Я получаю Неустранимая ошибка: вызов неопределенного метода XXX \ UserBundle \ Entity \ User :: initializeUser(), поэтому понятно, что он не распознает пользовательский репозиторий, хотя я объявил его в классе сущностей. Есть идеи?

ответ

5

Пользовательский репозиторий не добавляет метод к объекту Entity.

Для вызова пользовательского метода, с $em менеджером лица:

$em->getRepository('UserBundle:User')->initializeUser(), 
+0

Спасибо! Я пропустил эту часть. – ikleiman

Смежные вопросы