Doctrine 2 - PHP致命错误:找不到类'Doctrine \\ ORM \\ EntityRepository'

时间:2012-05-23 15:26:32

标签: doctrine-orm repository

在这里寻找解决方案之后,我决定不问这个问题。其他一些同伴" askers"我已经在这里完成了,尽管我已经尝试了一些可能的解决方案,但我仍然遇到同样的错误。

尽管我已经逐字逐句地遵循了Doctrine的教程,但PHP似乎无法找到EntityRepository类。

这是我的设置:

库/ UserRepository.php

use Doctrine\ORM\EntityRepository;

class UsersRepository extends Doctrine\ORM\EntityRepository {

    public function getAllUsers(){
        $dql = 'SELECT u.id, u.name FROM Users u';
        $query = $this->getEntityManager()->createQuery($dql);
        return $query->getResult();

    }     

}

实体/ Users.php

// This tells Doctrin which table to use from the schema
/**
 * @Entity(repositoryClass="UsersRepository")
 * @Table(name="users")
 **/    

class Users {

    /**
     * @Id @Column(type="integer") @GeneratedValue
     **/        
    protected $id;

    /**
     * @Column(type="string")
     **/        
    protected $name;    

    public function __construct() {

    }

    public function setUserName($name)
    {
        $this->name = $name;
    }

    public function getUserName()
    {
        return $this->name;
    }


}

并在bootstrap文件中 - /bootstrap.php - 我添加了

// including all repositories
require_once 'repositories/UsersRepository.php';

当我运行/getUsers.php

require_once 'bootstrap.php';

echo '<p>fetching all users</p>';

$allUsers = $b->entityManager->getRepository('Users')->getAllUsers();

当我在apache错误日志中收到错误时。如果有人遇到同样的情况,请帮忙。

谢谢。

1 个答案:

答案 0 :(得分:1)

打开你的bootstrap.php文件,然后将require_once代码下面的切换为bootstrap_doctrine.php的require_once:

if (!class_exists("Doctrine\Common\Version", false))
{
    require_once ("bootstrap_doctrine.php");
}

require_once "repositories/UsersRepository.php";