在存储库中使用其功能(Doctrine + Zend Expressive)

时间:2016-05-14 22:02:27

标签: doctrine-orm zend-framework2 zend-expressive

欢迎。在Action(Expressive Zend + Doctrine)

中无法从存储库中调用其函数
___________________

// 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中我有同样的问题

2 个答案:

答案 0 :(得分:0)

你得到了什么错误?你确定$ this-> em是实体经理的一个实例吗?虽然这不是必要的;尝试在App之前添加反斜杠:

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

答案 1 :(得分:0)

要获取存储库,您可以使用完全限定的类名:

<?php 

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