Задать вопрос
w_b_x
@w_b_x

Как решить ошибку «must be an instance of Symfony....»?

Здравствуйте.

Появилась неожиданная проблема, почему-то код который час назад работал стал выдавать ошибку и я не могу понять её корни.

Код:
<?php

require __DIR__.'/../vendor/autoload.php';
use Doctrine\ORM\Tools\Setup;
use Doctrine\ORM\EntityManager;
use App\Entity\Account; // Подключаю объект account, который прекрасно работает из Symfony

$isDevMode = true;
$entitiesPaths = array(__DIR__.'/../Entity');
$dbParams = array(
    'dbname' => 'База',
    'user' => 'Логин',
    'password' => 'Пароль',
    'host' => '127.0.0.1',
    'driver' => 'pdo_mysql',
);
$config = Setup::createAnnotationMetadataConfiguration($entitiesPaths, $isDevMode, null, null, false);
$em = \Doctrine\ORM\EntityManager::create($dbParams, $config);
$id = 9; // для примера
$account = $em->getRepository(Account::class)->findOneBy([
    'id'=>$id,
]);
var_dump($account);


Получаю такую ошибку:
Fatal error: Uncaught TypeError: Argument 1 passed to App\Repository\AccountRepository::__construct() must be an instance of Symfony\Bridge\Doctrine\RegistryInterface, instance of Doctrine\ORM\EntityManager given, called in _путь к проекту_\vendor\doctrine\orm\lib\Doctrine\ORM\Repository\DefaultRepositoryFactory.php on line 68 and defined in _путь к проекту_\src\Repository\AccountRepository.php:17


Из ошибки следует, что что-то не так в Entity Account, но он создан с помощью php bin/console make:entity, не изменялся и работает из контроллеров Symfony, также как и AccountRepository.

С чем это может быть связано?
  • Вопрос задан
  • 1107 просмотров
Подписаться 1 Простой 9 комментариев
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы