2016-02-12 2 views
0

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

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

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

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

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

Спасибо за ваши данные.

ответ

0

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

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

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

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

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

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

С наилучшими пожеланиями.

Смежные вопросы