Symfony MappedSuperclass store Ссылка на объект

В настоящее время я пишу MappedSuperclass для хранения ссылки на сущность объекта сущности.
Например, чтобы хранить избранное для пользователя, это может быть модель любого типа (продукт, категория продукта или что-то еще).

Класс содержит поля deux:

  • entityType: класс ссылки на сущность
  • entityId: идентификатор ссылки на сущность

Любимый класс сущностей расширяет этот Суперкласс, и это работа.

Я хотел бы знать, есть ли другой (более чистый?) Способ сделать это?

Спасибо за ваш вклад.

0

Решение

Поскольку в настоящее время мы много работаем с отображением Doctrine, все зависит от вашей бизнес-логики и от того, как вы хотите, чтобы ваша база данных выглядела.

Если вы используете mappedSuperclass, в основном, эта сущность не появится в вашей базе данных. Только сущности, которые наследуются от этого mappedSuperClass, будут отображаться со своими собственными свойствами и свойствами суперкласса.

Другим подходом может быть использование наследования объединенный тип который на этот раз сгенерирует класс в вашей базе данных, если он абстрактный.

Удобство использования вашей схемы, даже в типе mappedSuperclass или JOINED, не меняет многое, все зависит от ваших предпочтений и вашей логики.

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

Надеюсь, это поможет.

С уважением.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]