带有 Doctrine ORM 的 MappingException - 类不存在

我在我的 PHP 项目中使用 Doctrine 2.6.2。使用 ORM-Tool 成功创建了 Schema,但在运行时,抛出了 MappingException。


我仍然无法理解异常错误消息“类'凭据'不存在于......”,因为我不了解内部学说。


我的 composer.json 文件:


{

    "require": {

        "doctrine/orm": "^2.6.2",

        "symfony/yaml": "2.*"

    },

    "autoload": {

        "psr-0": {"": "src/"}

    }

}

我尝试更改一些 phpdoc 注释并多次重置架构。


有人在教义方面遇到过类似的问题吗?我很想对此提供一些提示,因为我什至不确定这个问题是由我的 PHP 代码文件引起的,还是由我正在使用的 orm 工具的某些错误配置引起的,或者很可能是我没有想到的的。


/**

 * @Entity @Table(name="credentials")

 */

class Credentials

{


    /** @Id @Column(type="integer") @GeneratedValue **/

    protected $id;


    /** @Column(type="string") **/

    public $Email;


    /** @Column(type="string") **/

    public $Loginname;


    /** @Column(type="string") **/

    public $EntropyString;


    /** @Column(type="string") **/

    public $AccessToken;



    public function __construct()

    {


    }


    public function getId()

    {

        return $this->id;

    }


}

这是来自 apache 的完整回复:


致命错误:未捕获的 Doctrine\Common\Persistence\Mapping\MappingException:F:\XAMPP\httpd.private\src\php\vendor\doctrine\persistence\lib\Doctrine\Common\Persistence\Mapping 中不存在类“凭据” \MappingException.php:93 堆栈跟踪:#0 F:\XAMPP\httpd.private\src\php\vendor\doctrine\persistence\lib\Doctrine\Common\Persistence\Mapping\RuntimeReflectionService.php(24): Doctrine\Common \Persistence\Mapping\MappingException::nonExistingClass('credentials')


1 F:\XAMPP\httpd.private\src\php\vendor\doctrine\persistence\lib\Doctrine\Common\Persistence\Mapping\AbstractClassMetadataFactory.php(250):

Doctrine\Common\Persistence\Mapping\RuntimeReflectionService->getParentClasses('credentials')


2 F:\XAMPP\httpd.private\src\php\vendor\doctrine\persistence\lib\Doctrine\Common\Persistence\Mapping\AbstractClassMetadataFactory.php(283):

Doctrine\Common\Persistence\Mapping\AbstractClassMetadataFactory->getParentClasses('credentials')

侃侃尔雅
浏览 158回答 1
1回答

沧海一幻觉

将完全限定的类名添加到对 EntityManager 的 Find 方法的调用后,不再发生异常:$this->credentials = $this->entityManager->Find('Businessrelations\Database\Credentials', $result[0]["id"]);
打开App,查看更多内容
随时随地看视频慕课网APP