@guyasyou

Doctrine 2 — OneToOne на несколько сущностей?

У меня такая структура БД для скидок к заказу или доставке. БД описана аннотациями в PHP и строится Доктрином.
0

Закавыка в DiscountValue. Значение у него может быть как в процентах, так и в абсолютном выражении - конкретная сумма денег. У типов свои таблицы со СКВОЗНЫМ discountValueID, которая Автогенерируется в DiscountValues.

Можно ли в DiscountValues указать OneToOne связь к 2-м таблицам/сущностям?
Или какой шаблон проектирования лучше всего подходит для решение такой задачи?
Может я вообще не стой стороны подошел...
  • Вопрос задан
  • 580 просмотров
Решения вопроса 1
riky
@riky
Laravel
то что вы хотите сделать называется наследование.
это описано здесь docs.doctrine-project.org/projects/doctrine-orm/en...
хранить можно как в одной общей таблице где часть полей будет null, так и в разных.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
errogaht
@errogaht
PHP developer
зачем столько таблиц?
оставить только PureStoreDiscounts
и добавить просто 2 поля enum('type', ['absolute', 'percentage']) и value
излишнее переусложнение
Ну или если скидки фиксированные то сделать 2 таблицы и указанные поля перенести в DiscountValues
Ответ написан
Комментировать
@guyasyou Автор вопроса
Подходит решение Single Table Inheritance
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы