Perdón por la pregunta larga, pero creo que es simple para desarrolladores experimentados de symfony y mongodb. P: Si genero una clase de repositorio, todos los repositorios findAll(), findBy(), findOneBy(), findBy*() fallan. ¿Por qué falla? debajo de mi estado de compositor.
"require": { "php": ">=5.3.9", "symfony/symfony": "2.8.*", "doctrine/orm": "^2.4.8", "doctrine/doctrine-bundle": "~1.4", "symfony/swiftmailer-bundle": "~2.3", "symfony/monolog-bundle": "~2.11.3", "sensio/distribution-bundle": "~5.0", "sensio/framework-extra-bundle": "^3.0.2", "incenteev/composer-parameter-handler": "~2.0", "doctrine/mongodb-odm": "^1.1", "doctrine/mongodb-odm-bundle": "^3.2" }Método del controlador como se muestra a continuación
/** * @Route("survey/{token}", name="survey_index") */ public function indexAction($token){ // if i remove repository, below query gives perfect result. $survey = $this->get('doctrine_mongodb') ->getRepository('CoreBundle:Survey')->findAll(); return $this->render('CoreBundle:Survey:index.html.twig',array('survey'=>$survey)); }Clase de documento como se muestra a continuación
namespace CoreBundle\Document; use Doctrine\ODM\MongoDB\Mapping\Annotations as ODM; /** * @ODM\Document(collection="survey_master") * @ODM\Document(repositoryClass="CoreBundle\Repository\SurveyRepository") */ class Survey { /** * @ODM\Id */ protected $id; /** * @ODM\Field(type="string") */ protected $name; // setters and getters below }si elimino
* @ODM\Document(repositoryClass="CoreBundle\Repository\SurveyRepository")
y realice el borrado de caché, todo funciona perfecto.
clase SurveyRepository
namespace CoreBundle\Repository; use Doctrine\ODM\MongoDB\DocumentRepository; /** * SurveyRepository * * This class was generated by the Doctrine ODM. Add your own custom * repository methods below. */ class SurveyRepository extends DocumentRepository { }Survey tiene dos anotaciones con @ODM\Document que se anulan.
Coloque ambos parámetros en una sola anotación.