#php #doctrine-orm #doctrine #php-8
Вопрос:
Учитывая следующую иерархию сущностей:
// in main project src/Entity #[ORMEntity] class Article extends AbstractArticle
// in bundle src/Entity/Content #[ORMMappedSuperclass] abstract class AbstractArticle extends AbstractEntity
// in bundle src/Entity #[ORMMappedSuperclass] abstract class AbstractEntity implements NormalizableInterface, EntityInterface
И эта конфигурация:
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: 'AppEntity' alias: App XyBundle: is_bundle: true type: annotation dir: 'Entity' prefix: 'XyBundleEntity' alias: Xy
Я получаю эту ошибку:
Class "AppEntityArticle" sub class of "XyBundleEntityContentAbstractArticle" is not a valid entity or mapped super class.
В будущем я хочу создать экземпляр одной или нескольких различных статей абстрактной статьи. Тем не менее, эта конфигурация работает тогда и только тогда, когда я помещаю #[ORMEntity]
в класс AbstractArticle.
Что я здесь делаю не так?
Ответ №1:
Я отследил проблему до такой степени, что мне пришлось изменить тип сопоставления на attribute
вместо annotation
. Теперь это работает.