【问题标题】:doctrine 2 with CodeIgniter 2 No Metadata classes to process使用 CodeIgniter 2 的学说 2 没有要处理的元数据类
【发布时间】:2013-02-19 22:36:42
【问题描述】:

我将 CodeIgniter 2 与学说 2 一起使用,这是我正在从事的项目

https://github.com/wildlyinaccurate/CodeIgniter-2-with-Doctrine-2

我需要从现有数据库中生成实体类

所以我将 Doctrine 配置为开发模式,并将数据库设置在 CodeIgniter 上

之后我写了这个命令

php 学说 orm:convert-mapping --from-database annotation models/generated

从数据库正确生成的类,但没有任何方法,之后我编写了这个命令来生成实体

php 学说 orm:generate-entities --regenerate-entities="1" 模型/生成

但我发现此错误“没有要处理的元数据类”

谢谢。

【问题讨论】:

  • 您必须设置正确的映射驱动程序配置。生成地图并不意味着它们已经在预期的位置。
  • 你能举个例子吗

标签: php codeigniter doctrine-orm


【解决方案1】:

在生成的实体文件中,需要删除“use Doctrine\ORM\Mapping as ORM;”

并将“ORM\”替换为“”

【讨论】:

    【解决方案2】:

    在库文件夹中的 Doctrine.php 中添加这些行,以加载驱动程序:

    $driver = new \Doctrine\ORM\Mapping\Driver\PHPDriver(APPPATH.'models/Mappings');
    $config->setMetadataDriverImpl($driver);
    

    创建您的Mapping files。 还有generate entities

    php cli-doctrine.php orm:generate-entities models --generate-annotations=true
    

    现在您可以在数据库中创建表:

    php cli-doctrine.php orm:schema-tool:create
    

    【讨论】:

      【解决方案3】:

      大多数学说文档和教程都不正确。你应该使用这个命令:

      php doctrine orm:generate:entities --generate-annotations=true models/generated
      

      【讨论】:

        【解决方案4】:

        这是正确的代码行,现在试试:

        php doctrine orm:generate-entities --generate-annotations=true models/generated
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-08-13
          • 2012-04-03
          • 1970-01-01
          • 2013-12-25
          • 1970-01-01
          • 2014-04-11
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多