私がこの質問をすることに決めたのは、ここで解決策を探した後ではありませんでした。他の仲間の「質問者」がここでそれを行いました。提供されている可能な解決策をいくつか試しましたが、同じエラーが発生し続けます。
私は 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.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 エラー ログにエラーが記録されます。同じ状況に遭遇したことがある人は、助けてください。
ありがとうございました。