为了账号安全,请及时绑定邮箱和手机立即绑定

带有 Doctrine ORM 的 MappingException - 类不存在

带有 Doctrine ORM 的 MappingException - 类不存在

PHP
侃侃尔雅 2021-09-18 10:32:36
我在我的 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')
查看完整描述

1 回答

?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

将完全限定的类名添加到对 EntityManager 的 Find 方法的调用后,不再发生异常:

$this->credentials = $this->entityManager->Find('Businessrelations\Database\Credentials', $result[0]["id"]);


查看完整回答
反对 回复 2021-09-18
  • 1 回答
  • 0 关注
  • 157 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信