2013-03-02 27 views
7

Ich bin neu in symfony2 und ich versuche, benutzerdefinierte Repository-Klasse zu erstellen und konnte es nicht tun. HierSymfony2 benutzerdefinierte Repository-Klasse

ist, was ich tue:

  • Ich habe Anmerkung zu Entity-Klasse (Mobiltelefone)

@ORM \ Entity (repositoryClass = "Maak \ DefaultBundle \ Entity \ MobilePhonesRepository"

)
  • In MobilePhonesRepository I cr ;> FindAllMobilePhones() - ('Mobilephones MaakDefaultBundle')

$ Ausführungs> getRepository: eated meine benutzerdefinierte Funktion findAllMobilePhones()

  • In Controller I genannt Funktion namens

  • aber ich bekomme Undefined method findAllMobilePhones(), habe ich Cache gelöscht und versuchte aber den gleichen Fehler. Was ist falsch?

    Meine Repository-Klasse:

    <?php 
    
    namespace Maak\DefaultBundle\Entity; 
    use Doctrine\ORM\EntityRepository; 
    
    class MobilePhonesRepository extends EntityRepository 
    { 
        public function findAllMobilePhones() 
        { 
         return $this->getEntityManager()->createQuery('SELECT p FROM AcmeStoreBundle:Product p ORDER BY p.name ASC') ->getResult(); 
        } 
    } 
    
    +1

    Was bedeutet 'Echo get_class ($ Ausführungs> getRepository ('MaakDefaultBundle: Mobilephones'))' zurückkehren? Können Sie die Klassendatei auch für das MobilePhonesRepository bereitstellen? – Sean

    +0

    Es gibt Doctrine \ ORM \ EntityRepository zurück –

    +0

    getEntityManager() -> Create ('SELECT p FROM AcmeStoreBundle: Produkt p ORDER BY p.name ASC') -> getResult(); } } –

    Antwort

    2

    Danke an alle Jungs für ihre Zeit. Endlich habe ich das Problem gefunden.

    Ich entschied, das gesamte Projekt zu debuggen und fand repository-class wurde nicht in XMLDriver festgelegt, die customRepositoryName in Metadaten festlegen würde. Das lag daran, dass ich XML-Mappings verwendete und für diese Entität repositoryClass mithilfe von Annotationen bereitstellte.

    Dank :) wieder

    Verwandte Themen