Ошибка, отображаемая при использовании пользовательского репозитория в Symfony 2?

#doctrine-orm #symfony

#doctrine-orm #symfony

Вопрос:

Я новичок в symfony 2. Я пытаюсь использовать пользовательский репозиторий в symfony 2. После написания функции в detailsRepository.php файл. в контроллере я написал

 $em = $this->getDoctrine()->getEntityManager();
 $products = $em->getRepository('BundlesampleBundle:details')
            ->findAllWhoseEmailContains($value);
  

но я получаю ошибку как

Предупреждение: Отсутствует аргумент 1 для Doctrine ORM EntityRepository::__construct(), вызываемый в C:xampphtdocssymblogsrcBundlesampleBundleControllerDefaultController.php в строке 162 и определенная в C:xampphtdocssymblogvendordoctrinelibDoctrineORMEntityRepository.php строка 61 (ошибка внутреннего сервера 500)

Мой detailsRepository.php заключается в следующем

 <?php

namespace BundlesampleBundleEntity;

use DoctrineORMEntityRepository;

/**
 * detailsRepository
 *
 * This class was generated by the Doctrine ORM. Add your own custom
 * repository methods below.
 */

class detailsRepository extends EntityRepository
{
    public function findAllWhoseEmailContains($value)
    {
        return $this->getEntityManager()
            ->createQuery('Select e.email from BundlesampleBundle:details e Where  e.email = :email')
            ->setParameter('email',$value)
            ->getResult();


    }   

}
  

Заранее спасибо.

Ответ №1:

Вы поместили все необходимые аннотации ко всем классам, как сказано здесь:http://symfony.com/doc/current/doctrine/repository.html ? Используете ли вы последнюю версию Symfony 2.0.5?

Комментарии:

1. привет … спасибо за ответ… я обновил вопрос содержимым в моем detailsRepository.php файл

2. извините, забыл упомянуть… я использую symfony 2.0.5.

3. @Philemon Вы аннотировали свой класс entity с помощью @ORMEntity(repositoryClass="XXX" >? Также пространство имен для ваших пакетов с именем «Bundle» выглядит странно. Почему вы не вызвали это Philemon , например?

4. привет, фрактализатор, извините, я не смог понять это » @ORM Entity (repositoryClass=»XXX» » это автоматически сгенерированный при сборке класс. пожалуйста, объясните.

5. Посмотрите здесь: symfony.com/doc/current/book /…