Я работаю над приложением доставки еды. Таким образом, у него есть две таблицы.
Item
-id (ID)
-name (string)
-type (breakfast, lunch, dinner)
-price (int)
-vendor (ID)
CartItem
-type( b, l,d)
-item (id)
-user (id)
Здесь пользователь может заказать еду из нескольких типов (уникального поставщика) предметов одновременно. И тогда товары будут доставлены в указанное c время в зависимости от типа товара.
order
1 item (type: breakfast)
2 items (type: lunch)
Предположим, выше приведены данные заказа одного пользователя. Таким образом, завтрак будет доставлен в 9:00, а обед будет доставлен в 13:00.
Теперь на панели инструментов продавца позиции заказа будут сгруппированы по типу индивидуального заказа. т. е. на вкладке "Завтрак",
index OrderID customer details status
1 1001 sachin Item1,Item2 ACCEPTED
2 1002 Sourav Item4 OutForDelivery
на вкладке "Обед"
index OrderID customer details status
1 1001 sachin Item3 ACCEPTED
2 1002 Sourav Item5,Item6 Accepted
. Как видно из приведенного выше, поставщик может просматривать сведения о заказе и обновлять статус заказанных товаров.
Как это реализовать? Каким будет таблица заказов, требуется ли какая-либо промежуточная таблица, например OrderByType ?