G
G
guyasyou2017-05-20 11:55:03
symfony
guyasyou, 2017-05-20 11:55:03

Doctrine 2 - OneToOne for multiple entities?

У меня такая структура БД для скидок к заказу или доставке. БД описана аннотациями в PHP и строится Доктрином.
0
Закавыка в DiscountValue. Значение у него может быть как в процентах, так и в абсолютном выражении - конкретная сумма денег. У типов свои таблицы со СКВОЗНЫМ discountValueID, которая Автогенерируется в DiscountValues.
Можно ли в DiscountValues указать OneToOne связь к 2-м таблицам/сущностям?
Или какой шаблон проектирования лучше всего подходит для решение такой задачи?
Может я вообще не стой стороны подошел...

Answer the question

In order to leave comments, you need to log in

3 answer(s)
Y
Yuri, 2017-05-20
@guyasyou

what you want to do is called inheritance.
it is described here docs.doctrine-project.org/projects/doctrine-orm/en...
you can store both in one common table where some of the fields will be null, and in different ones.

A
Alex Teterin, 2017-05-20
@errogaht

зачем столько таблиц?
оставить только PureStoreDiscounts
и добавить просто 2 поля enum('type', ['absolute', 'percentage']) и value
излишнее переусложнение
Ну или если скидки фиксированные то сделать 2 таблицы и указанные поля перенести в DiscountValues

G
guyasyou, 2017-05-20
@guyasyou Автор вопроса

Подходит решение Single Table Inheritance

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question