1

不是在这里搜索解决方案后,我才决定提出这个问题。其他一些“提问者”已经在这里完成了,虽然我已经尝试了一些可能提供的解决方案,但我一直遇到同样的错误。

PHP 似乎无法找到 EntityRepository 类,尽管我逐字遵循 Doctrine 的教程。

这是我的设置:

存储库/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.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 错误日志中收到错误的时候。如果有人遇到过同样的情况,请帮忙。

谢谢你。

4

1 回答 1

1

打开你的 bootstrap.php 文件并在 bootstrap_doctrine.php 的 require_once切换 require_once 代码:

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

require_once "repositories/UsersRepository.php";
于 2012-06-03T11:08:54.583 回答