Как использовать сущность с DBAL sqlsrv для easybundle admin - PullRequest
0 голосов
/ 11 апреля 2020

Здравствуйте, у меня есть 2 базы данных в моем symfony, и я хочу использовать Entity и репозиторий для упрощения и окончательности использования EasyBundleAdmin, спасибо заранее

Конфигурация DBAL:

doctrine:
    dbal:
    default_connection:       web

    connections:
       web:
          driver: sqlsrv
          dbname:           WEBSITE_DBF
          user:             '%env(resolve:DB_USER)%'
          password:         '%env(resolve:DB_PASSWORD)%'
          host:             '%env(resolve:DB_HOSTNAME)%'
          charset: UTF-8
       account:
          driver: sqlsrv
          dbname:           ACCOUNT_DBF
          user:             '%env(resolve:DB_USER)%'
          password:         '%env(resolve:DB_PASSWORD)%'
          host:             '%env(resolve:DB_HOSTNAME)%'
          charset: UTF-8
orm:
    auto_generate_proxy_classes: true
    naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware
    auto_mapping: true
    mappings:
        App:
            is_bundle: false
            type: annotation
            dir: '%kernel.project_dir%/src/Entity'
            prefix: 'App\Entity'
            alias: App

Учетная запись сущности:

Пространство имен App \ Entity;

использовать Doctrine \ ORM \ Mapping в качестве ORM;

/**
 * @ORM\Entity(repositoryClass="App\Repository\AccountRepository")
 */
class Account
{
    /**
     * @ORM\Id()
     * @ORM\Column(type="string")
     */
    private $account;

    private $result;

    public function __construct()
    {
        $connection = $this->getDoctrine()->getConnection('account');
        $result = $connection->fetchAll('SELECT * FROM ACCOUNT_TBL');
        $this->result = $result;
    }

    public function getAccount(): ?string
    {
        return $this->account;
    }
}

Конфигурация EasyAdmin:

easy_admin:
   entities:
       - App\Entity\Account

ошибка при получении:

An exception has been thrown during the rendering of a template ("An exception occurred while executing 'SELECT DISTINCT a0_.account AS account_0, a0_.account AS account_1 FROM account a0_ ORDER BY a0_.account DESC OFFSET 0 ROWS FETCH NEXT 15 ROWS ONLY':

, потому что он подключается по умолчанию (веб-сайт, а не учетное соединение), а моя таблица - account_tbl, а не учетная запись

Я хотел бы создать объект для другого подключения для используйте asy admin bundle с DBAL спасибо

...