Укажите имя класса сущности в Symfony Doctrine ORM

Я использую YAML для настройки сопоставлений Doctrine ORM в Symfony 4. Есть ли способ указать имя класса объекта вручную в его конфигурации? Похоже, что имя класса сущности сгенерировано на основе имени файла конфигурации yml, и нет возможности его переопределить.

Скажем, у меня есть конфигурация отображения под названием Foo.orm.yml. Doctrine будет думать, что настоящее имя класса сущности - Foo. Но что, если я хочу, чтобы файл Foo.orm.yml отображал таблицу в класс Bar? Итак, я думал о чем-то вроде опции class внутри конфигурации, но ничего не нашел в Интернете.

#file Foo.orm.yml

Bar:
    class: Bar
    type: entity
    table: bar
    id:
        id:
            type: integer
            generator: { strategy: NONE }
    fields:
        foo:
            type: string
        bar:
            type: boolean

В сопоставлениях XML есть опция name: http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/xml-mapping.html, которая не работает в YAML.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
161
1

Ответы 1

Измените Бар на AppBundle \ Entity \ Bar

AppBundle\Entity\Bar:
    type: entity
    table: bar
    id:
        id:
            type: integer
            generator: { strategy: NONE }
    fields:
        foo:
            type: string
        bar:
            type: boolean

Не работает. Пакет Doctrine игнорирует этот ключ верхнего уровня.

super.t 12.03.2018 11:07

Вот как я использую его в своих проектах (3.4)

Dylan van der Graaf 12.03.2018 11:09

Другие вопросы по теме