0

这是我的文件夹结构。

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);

这是教义/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():Amphur 类不存在,无法加载

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

4

1 回答 1

1

包括 Amphur 文件以摆脱找不到的类。稍后您可以查看如何配置自动加载器以在教义目录中查找文件。

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

还需要给Amphur添加一个Id注解

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

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

于 2013-08-28T18:18:00.253 回答