doctrine 2.3.4找不到存储库(class_parents():类不存在且无法加载)

时间:2013-08-28 17:56:41

标签: php doctrine-orm

这是我的文件夹结构。

php-orm
    doctrine
        Amphur.php
    vendor
        bin
        composer
        doctrine
        symfony
        autoload.php
    list.php

这是list.php文件。

<?php
include 'config.php';
use Doctrine\ORM\Tools\Setup;
use Doctrine\ORM\EntityManager;
require_once 'vendor/autoload.php';

$paths = array(__DIR__ . '/doctrine');
$isDevMode = true;
$dbParams = array(
    'driver' => 'pdo_mysql',
    'user' => $db[$dbuse]['username'],
    'password' => $db[$dbuse]['password'],
    'dbname' => $db[$dbuse]['database'],
);
$config = Setup::createAnnotationMetadataConfiguration($paths, $isDevMode);
$entityManager = EntityManager::create($dbParams, $config);

$class_repo = $entityManager->getRepository('Amphur');
//$provinces = $class_repo->findBy('', array('PROVINCE_NAME' => 'ASC'), 50, 0);
$provinces = $class_repo->findAll();
print_r($provinces);

这是doctrine / Amphur.php文件。

<?php
// doctrine/Amphur.php
/**
 * @Entity @Table(name="amphur")
 **/
class Amphur
{


    /** @AMPHUR_ID @Column(type="integer") @GeneratedValue **/
    protected $id;
    /** @Column(type="string") **/
    protected $amphur_name;


}

数据库:test_db 表:amphur [AMPHUR_ID | AMPHUR_CODE | AMPHUR_NAME | GEO_ID | PROVINCE_ID]

当我跑步时,我收到错误警告:class_parents():Class Amphur不存在且无法加载

如果我已经存在数据库,如何获取存储库?

1 个答案:

答案 0 :(得分:1)

包含Amphur文件以删除未找到的类。稍后您可以查看如何配置自动加载器以在doctrine目录中查找文件。

require_once 'vendor/autoload.php';
require_once 'doctrine/Amphur.php';

还需要向Amphur添加Id注释

/** @AMPHUR_ID 
 * @Id
 * @Column(type="integer") 
 * @GeneratedValue 
 * **/
protected $id;

这是一个调试提示。收到您的错误消息并将其复制/粘贴到Google搜索栏中。您可能会对存在多少解决方案感到惊讶。