1

私がこの質問をすることに決めたのは、ここで解決策を探した後ではありませんでした。他の仲間の「質問者」がここでそれを行いました。提供されている可能な解決策をいくつか試しましたが、同じエラーが発生し続けます。

私は 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 エラー ログにエラーが記録されます。同じ状況に遭遇したことがある人は、助けてください。

ありがとうございました。

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 に答える