-1

欢迎。不可能在 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 中我遇到了同样的问题

4

2 回答 2

0

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

<?php 

$categoryRepository = $this->em->getRepository(App\Entity\Category::class);
于 2016-05-19T11:20:31.583 回答
0

你得到什么错误?你确定 $this->em 是实体管理器的一个实例吗?虽然这不是必需的;尝试在 App 之前添加一个反斜杠,如下所示:

<?php 
     $this->em->getRepository('\App\Entity\Category')->??? 
于 2016-05-16T15:03:43.760 回答