2012-09-09 12 views
10

ich eine Zwei-Ebenen-Einheit Ordner in einem Symfony2 Bündel haben:2 Ebene Entity Ordner in Symfony 2

CommonBundle/Entity/EntityFolder1/EntityA.php 
CommonBundle/Entity/EntityFolder2 
CommonBundle/Entity/EntityFolder3 
CommonBundle/Entity/EntityFolder4 

Wenn ich versuche, die Repositories für eine Entität zu erhalten, die in einem der Ordner ist:

$product = $this->getDoctrine()->getRepository('CommonBundle:EntityA')->find(1); 

Symfony erkennt dies nicht CommonBundle:EntityA.

Ich versuchte es auch mit CommonBundle:EntityFolder1:EntityA.

Warnung: class_parents(): Klasse CommonBundle \ Entity \ Entität nicht existieren und nicht in

+0

Ich denke nicht, dass es eine gute Praxis ist, 2 Ordner in Ihrem Entity-Ordner zu erstellen. Es ist eigentlich nichts falsch daran, die 2 Entitäten im selben Entity-Ordner zu haben. Der Pfad ist leicht zu merken und Sie müssen sich nicht an den Ordner erinnern, in dem er sich befindet. – Mick

+4

@Patt, es ist * eine gute Methode, zusammengehörige Entitäten zu gruppieren - und nicht nur Entitäten. –

+0

Danke @elnur Das weiß ich gar nicht! +1 für deine Antwort. Danke vielmals. – Mick

Antwort

21

Es ist CommonBundle:EntityFolder1\EntityA.

+0

Ich werde es versuchen! Danke – Daniel

+1

Es hat funktioniert! @elnur – Daniel

+0

FYI: Sie müssen möglicherweise Ihren ORM-Yml-Dateinamen wie folgt ändern: ** EntityFolder1.EntityA.orm.yml ** – MediaVince

1

Verwenden Sie den vollständigen Klassennamen Ihres Unternehmens nicht geladen werden:

$product = $this->getDoctrine() 
       ->getRepository('Acme\CommonBundle\Entity\EntityFolder1\EntityA') 
       ->find(1); 
+0

Ich werde es versuchen! Danke – Daniel