【问题标题】:SF2.1 RC1 - No Metadata Classes to processSF2.1 RC1 - 没有要处理的元数据类
【发布时间】:2012-08-18 15:49:57
【问题描述】:

我已经用 composer 完成了 Symfony 2 的全新安装,并通过 app/console 创建了一个包。我还创建了一个数据库并通过app/console 生成了一些实体。

所以现在我执行app/console doctrine:schema:create 来创建数据库方案。不幸的是,我收到以下错误:

No Metadata Classes to process.

我仔细检查了命名空间,一切似乎都是正确的,尤其是因为它都是生成的代码。我还检查了/resources/config/doctrine/*bundlename*.orm.php 是否存在,确实存在。

我必须以某种方式重新配置 Doctrine 吗?我在这里想念什么?我已经多次删除缓存没有任何运气。我尝试了config.yml中的自定义映射,没有任何结果。

运行 Xampp 1.8.0、PHP 5.4.4、Apache 2.4.2、Windows 7、Symfony 2.1 RC1

【问题讨论】:

    标签: php doctrine-orm symfony-2.1


    【解决方案1】:

    看起来您已正确配置了学说的驱动程序选项,或者实体文件夹(或 YAML / XML 映射)中没有实体

    或者您忘记在实体类文档块上方添加@entity

    关于学说配置信息: http://docs.doctrine-project.org/en/latest/reference/configuration.html

    【讨论】:

    • 实体是在 PHP 中用注释定义的。 @ORM\Entity() 行也被定义。我能够创建和删除数据库,所以数据库连接应该没问题。我一直在使用以下指南:symfony.com/doc/current/book/doctrine.html
    • 如果您使用的是 linux,请确保您的实体文件夹 chmod 正确
    【解决方案2】:

    在您的实体之上,您必须使用 Doctrine:

    namespace Osiris\BlogBundle\Entity;
    
    use Doctrine\ORM\Mapping as ORM;
    
    /**
     * Blog
     *
     * @ORM\Entity
     * @ORM\Table(name="blog")
     */
    class Blog {
       ...
    }
    

    然后运行 ​​php app/console dictionary:schema:update --dump-sql

    【讨论】:

      猜你喜欢
      • 2014-04-11
      • 2018-07-08
      • 1970-01-01
      • 2012-04-03
      • 2015-08-13
      • 1970-01-01
      • 2018-06-11
      • 2011-08-23
      • 2019-01-12
      相关资源
      最近更新 更多