在这里寻找解决方案之后,我决定不问这个问题。其他一些同伴" 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错误日志中收到错误时。如果有人遇到同样的情况,请帮忙。
谢谢。
答案 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";