У меня есть класс CustomRepository
, который расширяет класс Doctrine\ORM\EntityRepository
. Этот репозиторий связан со многими различными объектами. В репозитории есть метод, который возвращает связанный объект.
class CustomRepository extends \Doctrine\ORM\EntityRepository
{
function getEntity() { ... } // returns an instance of associated entity
}
/**
* @ORM\Entity(repositoryClass="CustomRepository")
*/
class EntityClass1 { ... }
/**
* @ORM\Entity(repositoryClass="CustomRepository")
*/
class EntityClass2 { ... }
$repo1 = $entityManager->getRepository('Entity1');
$entity1 = $repo1->getEntity(); // will return an instance of EntityClass1
$repo2 = $entityManager->getRepository('Entity2');
$entity2 = $repo1->getEntity(); // will return an instance of EntityClass2
Я использую плагин Symfony 2, который правильно определяет класс объектов, возвращаемых унаследованными методами, как find
.
Есть ли способ сообщить плагину, что метод возвращает связанный объект?