Почему у меня есть конфликт между ORM и светильниками Монго в Symfony 4 - PullRequest
0 голосов
/ 17 октября 2018

У меня есть проблема, которая сводит меня с ума в течение последних полутора дней: у меня есть Symfony 4, и я использую и PostgreSQL, и MongoDB.Для обработки документов mongodb я использую Doctrine MongoDB Bundle

У меня есть обычные сущности в папке / src / Entity, а мой класс mongo в папке / src / Document.Пока все хорошо при использовании классов с менеджерами сущностей и документов

Проблема возникает с приборами, я создал две папки - / src / DataFixtures / ORM, где живет большинство моих приборов - / src / DataFixtures /MongoDB, где живет мой новый прибор для документа mongo

мой класс приборов Mongo:

use App\Document\ImportFeedExecution;
use Doctrine\Bundle\FixturesBundle\Fixture; 
use Doctrine\Common\Persistence\ObjectManager;

/**
 * ExecutionFixtures class
 */
 class ExecutionFixtures extends Fixture
 {
     public function load(ObjectManager $manager)
     {
         $exec = new ImportFeedExecution();
         $exec->setFeedId(1);
         $exec->setStatus(ImportFeedExecution::STATUS_RUNNING);

         $manager->persist($exec);

         $manager->flush($exec);
     }
}

Дело в том, что если я запускаю учение bin / console: mongodb: fixtures: load -n, оно работает отлично, оноопустошает мою базу данных mongodb, запускаю это и все хорошо, но если я запускаю доктрину bin / console: fixtures: load -ni получаю ошибку сейчас!а это:

In MappingException.php line 22:
The class 'App\Document\ImportFeedExecution' was not found in the chain configured namespaces App\Entity

На данный момент мои конфигурации доктрины и монго являются по умолчанию.Есть ли причина, по которой мой прибор Монго определяется как нормальный прибор?

1 Ответ

0 голосов
/ 17 октября 2018

моя ошибка: /, я случайно оставил копию файла ExecutionFixtures.php в папке ORM, выполняя загрузку приборов с ключом --verbose, указав мне на мою ошибку

...