2016-05-14 16 views
-1

Willkommen. Es ist unmöglich, seine Funktionen aus dem Repository in einer Aktion (Expressive Zend + Lehre)Verwenden Sie ihre Funktionen im Repository (Doctrine + Zend Expressive)

___________________ 

// App\Entity\Category 
namespace App\Entity; 

use Doctrine\ORM\Mapping as ORM; 

/** 
* Category 
* 
* @ORM\Table(name="category", indexes={@ORM\Index(name="id", columns={"id"})}) 
* @ORM\Entity(repositoryClass="App\Repository\CategoryRepository") 
*/ 
class Category 
{//} 
___________________ 

// App\Repository\CategoryRepository 
namespace App\Repository; 

use Doctrine\ORM\EntityRepository; 

class CategoryRepository extends EntityRepository 
{ 
    public function finderMethod($arguments){ 
     // Какие-либо действия 
     return $arguments; 
    } 
} 
___________________ 

// App\Action\PageAction 
$category = $this->em->getRepository('App\Entity\Category')-> ??? 

findAll() aufzurufen, findBy wie beabsichtigt funktioniert, was mache ich falsch? (soweit ich mich erinnere, in zf2 hatte ich das gleiche Problem)

+0

Welche Fehler werden Sie bekommen? *** Sind Sie sicher, $ this-> em ist eine Instanz von Entity Manager? *** Obwohl dies nicht notwendig ist; versuche, einen umgekehrten Schrägstrich vor der App hinzuzufügen, so: ** $ this-> em-> getRepository ('\ App \ Entity \ Category') -> ??? ** – Poiz

+0

es hat funktioniert, danke – Drakulitka

+0

OK ... Bitte , unterstütze die Antwort unten als die Richtige, damit zukünftige Besucher mit einem ähnlichen Problem davon profitieren können? Danke ... Prost .... – Poiz

Antwort

0

Um ein Repository zu erhalten Sie den vollständig qualifizierten Klassennamen verwenden können:

<?php 

$categoryRepository = $this->em->getRepository(App\Entity\Category::class); 
0

Welche Fehler bekommen Sie? Sind Sie sicher, dass $ this-> em eine Instanz von Entity Manager ist? Obwohl dies nicht notwendig ist; versuchen, einen Backslash vor App wie so hinzufügen:

<?php 
    $this->em->getRepository('\App\Entity\Category')->???