У меня была похожая проблема - когда компания или человек могут заказать продукт.
У вас есть order
, который может принадлежать либо person
, либоcompany
- так с чем вы связываете отношения?Я думаю, что у заказов будет внешний ключ companyId
и personId
, но как сделать их эксклюзивными?Возвращаемые данные не обязательно будут одинаковыми - например, company
не имеет поля first name
/ last name
.
Я думаю, это можно сделать, вернув name
и в случае person
создайте строку из firstname
/ lastname
, а в случае company
используйте поле companyname
.