doctrine2实体没有loadMetadata()?

时间:2013-09-18 17:38:35

标签: php doctrine-orm silex

我创建了一些doctrine2实体来与我的数据库一起使用,并且可以从命令行创建/访问数据。当我转向Silex应用程序时,我开始遇到麻烦。当我尝试让entityManager获取记录时,它会崩溃,并显示以下错误消息:

“致命错误:在第79行调用未定义的方法Entities \ User :: loadMetadata()in / / vendor / doctrine / common / lib / Doctrine / Common / Persistence / Mapping / Driver / StaticPHPDriver.php”< / p>

我的作曲家要求是:

 "require": {
      "silex/silex": "v1.1.0",
      "symfony/http-foundation": "v2.3.3",
      "doctrine/orm": "2.3.4",
      "dflydev/doctrine-orm-service-provider": "v1.0.1"
 },

从我的数据库创建这些实体时,是否有一些步骤搞砸了?感谢

1 个答案:

答案 0 :(得分:0)

这个问题似乎与我设置DoctrineOrmServiceProvider的方式有关。最初,我将类型设置为php。我使用的正确类型是注释。

$app->register(new DoctrineOrmServiceProvider, array(
    "orm.em.options" => array(
        "mappings" => array(
            array(
                "type" => "annotation",
                "namespace" => "Entities",
                "path" => __DIR__."/../lib/",
            ),
        ),
    ),
));