#mysql #database #laravel #api #data-modeling
Вопрос:
У меня возникает проблема, когда я пытаюсь смоделировать базу данных и вернуть данные с помощью ресурсов laravel api.
Правила таковы:
- Продукт принадлежит многим филиалам, и в филиале может быть много продуктов. (Отношения многих ко многим, здесь у меня нет проблем)
- Продукт может иметь множество презентаций в зависимости от отрасли. (Вот в чем моя проблема)
- Презентации представляют собой дополнительные столбцы к продукту, такие как количество и цена
Например:
- Продукт: Гамбургер
- Филиал: Перу
- Презентации:
- маленький, 7 долларов
- большой, 15 долларов
- Презентации:
- Филиал: Мексика
- Презентации:
- средний, 30 долларов
- маленький, 10 долларов
- Презентации:
- Филиал: Перу
Каким было бы моделирование в базе данных? И как я должен отображать данные с помощью ресурсов Api laravel?
Спасибо!
PD: Я прилагаю код Json, который должен быть возвращен.
{
"id": 1,
"description": "Hamburguer",
"branches": [
{
"id": 2,
"name": "Peru",
"presentations": [
{
"quantity": "small",
"default_price": 7
},
{
"quantity": "large",
"default_price": 15
}
]
},
{
"id": 4,
"name": "Mexico",
"presentations": [
{
"quantity": "medium",
"default_price": 30
},
{
"quantity": "small",
"default_price": 10
}
]
}
]
}
Комментарии:
1. Взгляните на Красноречивые отношения Хасмана. Как вы возвращаете эти данные в свой API, зависит от вас, вы можете следовать спецификации, такой как JSONAPI, или определить свою собственную структуру.
2. @Peppermintology Когда я использую «сквозной», он показывает все презентации продукта. Я хочу, чтобы он показывал только доступные презентации продукта в определенной отрасли.