我是 Symfony 2 的新手,在设置 Doctrine 时遇到了困难。当我尝试保留我的模型时出现以下错误:在链配置的命名空间中找不到类“Foo”。
我有一个需要 Composer 自动加载器的引导文件,并将此加载器注册到 AnnotationRegistry
use Doctrine\Common\Annotations\AnnotationRegistry;
$loader = require "vendor/autoload.php";
AnnotationRegistry::registerLoader(array($loader, "loadClass"));
我在 config.yml 中配置了 CouchDB
doctrine_couch_db:
client:
connections:
default:
dbname: foo
host: data.foo
port: 5984
odm:
document_managers:
default:
connection: default
我的模型带有注释
use Doctrine\ODM\CouchDB\Mapping\Annotations as ODM;
/**
* Model object for foo data.
* @ODM\Document
*/
class Foo {
...
}
我有一个 ContainerAwareCommand 用于获取 Doctrine ObjectManager
$dm = $this->getContainer()->get("doctrine_couchdb.odm.default_document_manager");
但是当我试图坚持
$dm->persist(new Foo());
我收到一个错误
The class 'Foo' was not found in the chain configured namespaces
编辑:经进一步调查, MappingDriverChain 为空。驱动程序数组中没有 defaultDriver 和值。我不知道这是如何填充的,但似乎这是根本问题。