Я создал службу для получения менеджера сущностей в команде
Я не понимаю, почему я могу использовать диспетчер сущностей в обычном контроллере, а не в своей команде.
Я объявил мой сервис в " 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? "