2012-05-23 37 views
1

在這裏尋找解決方案後,我決定提出這個問題。其他一些「提問者」已經在這裏做了,儘管我已經嘗試了一些可能的解決方案,但我仍然得到同樣的錯誤。Doctrine 2 - PHP致命錯誤:未找到Class'Doctrine \ ORM \ EntityRepository'

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錯誤日誌那是。如果有人遇到過相同的情況,請幫忙。

謝謝。

回答

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"; 
相關問題