Я использую Doctrine ODM с Symfony 4. Пытаюсь использовать формат отображения XML для документов и получаю следующую ошибку:
No mapping file found named 'Post.mongodb.xml' for class 'App\Document\Post'.
My doctrine_mongodb.yaml файл:
doctrine_mongodb:
auto_generate_proxy_classes: '%kernel.debug%'
auto_generate_hydrator_classes: '%kernel.debug%'
connections:
default:
server: '%env(MONGODB_URL)%'
options: {}
default_database: '%env(MONGODB_DB)%'
document_managers:
default:
auto_mapping: true
mappings:
App:
is_bundle: false
type: xml
dir: '%kernel.project_dir%/src/Resources/config/doctrine'
prefix: App\Document\
alias: App
Документ src / Document / Post.php Файл:
namespace App\Document;
class Post
{
protected $id;
protected $title;
protected $text;
//Getters and setters
}
Файл отображения XML src / Resources / config/doctrine/Post.mongodb.xml:
<doctrine-mongo-mapping xmlns="http://doctrine-project.org/schemas/odm/doctrine-mongo-mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://doctrine-project.org/schemas/odm/doctrine-mongo-mapping
http://doctrine-project.org/schemas/odm/doctrine-mongo-mapping.xsd">
<document name="App\Document\Post">
<field fieldName="id" id="true" />
<field fieldName="title" type="string" />
<field fieldName="text" type="string" />
</document>
</doctrine-mongo-mapping>
Конфигурация Composer (требуется раздел):
"require": {
"php": "^7.1.3",
"ext-ctype": "*",
"ext-iconv": "*",
"alcaeus/mongo-php-adapter": "^1.1",
"doctrine/mongodb-odm-bundle": "^3.5",
"symfony/console": "4.2.*",
"symfony/dotenv": "4.2.*",
"symfony/flex": "^1.1",
"symfony/framework-bundle": "4.2.*",
"symfony/yaml": "4.2.*"
}
Есть идеи?