无法访问存储库功能

时间:2015-11-17 13:11:50

标签: php doctrine-orm doctrine repository

我正在创建一个简单的学说项目,我有一个使用VM的示例,但我在Windows中做,我可以访问我的Repository类中的任何Repository函数。

用户实体:

<?php

namespace Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * User
 *
 * @ORM\Table(name="user", indexes={@ORM\Index(name="user_user_group_id", columns={"user_group_id"})})
 * @ORM\Entity(repositoryClass="Repository\UserRepository")
 */
class User
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $id;

用户存储库:

<?php

namespace Repository;

use Doctrine\DBAL\Exception\UniqueConstraintViolationException;
use Entity\User;
use Doctrine\ORM\EntityManager;

/**
 * Class UserRepository
 *
 * @package Entity
 */
class UserRepository extends EntityRepository
{
     /**
     * Return all users
     *
     * @return array
     */
    public function findAll()
    {
        return $this->em->getRepository("Entity\User")->findAll();
    }

    /**
     * Find an user by id
     *
     * @param $id
     *
     * @return null|object
     */
    public function findOne($id)
    {
        return $this->em->getRepository("Entity\User")->find($id);
    }

当我尝试在Controller中访问findOne函数时,收到此错误:

  

致命错误:调用未定义的方法   储存库\ UserRepository ::找到()

当我尝试在Controller中访问findAll函数时,收到此错误:

  

致命错误:达到最大功能嵌套级别'100',   中止!   第187行vendor\doctrine\common\lib\Doctrine\Common\Persistence\Mapping\AbstractClassMetadataFactory.php

创建我使用的实体:

orm:convert-mapping --force --from-database annotation ./src/Entity
orm:generate-entities ./src/Entity --generate-annotations=true

谢谢!

更新

https://gist.github.com/FelipeUmpierre/04d943bb97f47dfc3eef

0 个答案:

没有答案