Почему я могу использовать диспетчер сущностей в контроллере, а не в Command? - PullRequest
0 голосов
/ 02 июля 2018

Я создал службу для получения менеджера сущностей в команде

Я не понимаю, почему я могу использовать диспетчер сущностей в обычном контроллере, а не в своей команде.

Я объявил мой сервис в " service.yml "

common.doctrine:
        class: AppBundle\Services\GetDoctrineService
        arguments: [ '@doctrine.orm.entity_manager' ]
        public: true

Я написал это в " GetDoctrineService.php "

<?php

namespace AppBundle\Services;

use Doctrine\ORM\EntityManager;

class GetDoctrineService
{
  protected $em;

  public function __construct(\Doctrine\ORM\EntityManager $em)
  {
    $this->em = $em;
  }

  public function getRepository(string $repo) {
      return $this->em->getRepository($repo);
  }
}

В своей команде я импортирую и вызываю «Командным путем»

$em = $this->getApplication()->getKernel()->getContainer()->get('common.doctrine');
$foo = $em->getRepository(Entity::FOO)->findAll();

Я изменил хост базы данных на " localhost " в " parameters.yml "

# This file is auto-generated during the composer install
parameters:
    #database_host: db-name
    database_host: localhost

Когда я установил postgres с помощью команды, файл " pg_hba.conf " не был создан (я работаю с Ubuntu)

У меня ошибка при использовании команды:

Сообщение: «Возникла исключительная ситуация в драйвере: SQLSTATE [08006] [7] не удалось подключиться к серверу: соединение отклонено. Сервер работает на хосте« localhost »(127.0.0.1) и принимает соединения TCP / IP на порту 5432? "

1 Ответ

0 голосов
/ 02 июля 2018

Проблема была в файлах конфигурации: использование 'localhost' было ошибкой: мы должны были использовать dn-имя для хоста

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...