2016-05-14 2 views
-1

Добро пожаловать. Это нельзя назвать свои функции из хранилища в действии (Выразительное Зенд + Doctrine)Используйте его функции в репозитории (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(), findBy работает, как задумано, что я делаю неправильно? (, насколько я помню, в zf2 у меня была та же проблема)

+0

Какие ошибки вы получаете? *** Вы уверены, что $ this-> em является экземпляром Entity Manager? *** Хотя это необязательно; попробуйте добавить обратную косую черту перед приложением: ** $ this-> em-> getRepository ('\ App \ Entity \ Category') -> ??? ** – Poiz

+0

это сработало, спасибо – Drakulitka

+0

OK ... Пожалуйста , подтвердите ответ ниже как правильный, чтобы будущие посетители с подобной проблемой могли извлечь выгоду из этого? Спасибо ... Приветствия .... – Poiz

ответ

0

Чтобы получить хранилище вы можете использовать полное имя класса:

<?php 

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

Какие ошибки вы получаете? Вы уверены, что $ this-> em является экземпляром Entity Manager? Хотя это необязательно; попробуйте добавить обратную косую черту перед App так:

<?php 
    $this->em->getRepository('\App\Entity\Category')->??? 
Смежные вопросы