2014-07-24 3 views
2

Я столкнулся с ошибкой Неопределенный метод 'findAllCtrs'. Имя метода должно начинаться с findBy или findOneBy!Symfony2, похоже, не распознает мой класс репозитория

Я пробовал все другие решения на StackOverflow относительно этой проблемы. Я очистил кеш, очистил кеш метаданных, проверил пространства имен и объекты папок, но все равно не исправил.

Вот моя сущность:

namespace CFS\Bundle\Entity; 

use Doctrine\ORM\Mapping as ORM; 

/** 
* Ref 
* 
* @ORM\Table(name="ref", indexes={@ORM\Index(name="refno", columns={"refno"}), @ORM\Index(name="ctrno", columns={"ctrno"})}) 
* @ORM\Entity(repositoryClass="CFS\Bundle\Entity\RefRepository") 
*/ 
class Ref 
{ 

Мой репозиторий Класс:

namespace CFS\Bundle\Entity; 

use Doctrine\ORM\EntityRepository; 

class RefRepository extends EntityRepository 
{ 
    public function findAllCtrs() 
    { 
    $query = $this->getEntityManager() 
     ->createQuery(' 
      SELECT 
       r.refno, r.ctrno 
      FROM 
       CFSBundle:Ref r 
      ORDER BY 
       r.refno DESC 
      '); 

    try { 
     return $query->getResult(); 
    } catch(\Doctrine\ORM\NoResultException $e) { 
     return null; 
    } 
} 

}

И я пытался вызвать метод в мой контроллер с:

$em = $this->getDoctrine()->getManager(); 

    $containers = $em->getRepository('CFSBundle:Ref') 
      ->findAllCtrs(); 

Я заметил d, что при генерации объектов в командной строке php app/console doctrine:generate:entities CFSBundle он не распознает мой файл RefRepository.php. Что еще я мог пропустить?

+0

Любой шанс, что у вас есть файл \ config \ doctrine \ Ref.orm.yml \ \ \ \ \ \ \ \ \ – Cerad

+0

@ Керад, да, что я должен искать? – user3757305

+0

@Cerad, это на самом деле xml вместо .yml – user3757305

ответ

1

Я тоже придерживался подобной ошибки, проведя день в поисках решения. Я нашел опечатку в моей аннотации, ссылаясь на класс репозитория.
Но я не вижу ошибки в коде, который вы предоставили, поэтому он должен работать ...

Вы прочитали (https://stackoverflow.com/a/15184084/1781752?):
Существовали проблемы с смешиванием yml-сопоставлений и аннотаций.

+1

Вы правы! Это была проблема смешивания аннотаций и других форматов. – user3757305

+0

Рад, что я мог помочь. –

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