Laravel & Couchdb-ODM - The annotation “@Doctrine\\ODM\\CouchDB\\Mapping\\Annotations\\Document” does not exist, or could not be auto-loaded

梦想与她 提交于 2019-12-06 15:34:25

composer dump-autoload did the trick.

Also, here is an update to my controller:

    $annotationNs = 'Doctrine\\ODM\\CouchDB\\Mapping\\Annotations';
    $couchPath = '/path/to/vendor/doctrine/couchdb-odm/lib';
    \Doctrine\Common\Annotations\AnnotationRegistry::registerAutoloadNamespace($annotationNs, $couchPath);

    $databaseName  = "test";
    $documentPaths = array("IO\Documents");
    $httpClient    = new \Doctrine\CouchDB\HTTP\SocketClient();
    $dbClient      = new \Doctrine\CouchDB\CouchDBClient($httpClient, $databaseName);

    $config         = new \Doctrine\ODM\CouchDB\Configuration();
    $metadataDriver = $config->newDefaultAnnotationDriver($documentPaths);

    $config->setProxyDir(__DIR__ . "/proxies");
    $config->setMetadataDriverImpl($metadataDriver);

    $dm = new \Doctrine\ODM\CouchDB\DocumentManager($dbClient, $config);

    $article1 = new Article();
    $article1->setTitle("Who is John Galt?");
    $article1->setBody("Find out!");
    $dm->persist($article1);
    $dm->flush($article1);

My Article class:

    <?php
    namespace IO\Documents;

    use Doctrine\ODM\CouchDB\Mapping\Annotations as CouchDB;

    /**
     * @Document
     */
    class Article ()
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!