У меня есть 3 таблицы Mysql, таблица поставщиков со списком поставщиков, таблица категорий со списком категорий, которые есть у этих поставщиков в этих магазинах, таблица категорий связана с таблицей поставщиков с помощью вторичного ключа (vendor_id), у меня также есть таблица продуктов, в которой есть все продукты этих категорий, и она связана с таблицей категорий с помощью внешнего ключа (category_id). Как мне написать маршрут NodeJs / Express, который возвращает объект json, который выглядит следующим образом:
{
"id": 1,
"vendor": "Food place",
"category": "Chicken"[
{
"id": "1,
"name": "Fried chicken",
"price": "100"
},
{
"id": "2,
"name": "Soup Chicken",
"price": "150"
}
}
Таким образом, объект json возвращает поставщика все категории, которые у него есть, и внутри категорий всепродукты, относящиеся к этим категориям
Таблицы похожи на эту таблицу поставщиков:
+----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(255) | NO | | NULL | |
| category | varchar(255) | NO | | NULL | |
+----------+--------------+------+-----+---------+----------------+
Таблица категорий:
+-----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | YES | | NULL | |
| vendor_id | int(11) | NO | MUL | NULL | |
+-----------+-------------+------+-----+---------+----------------+
Таблица продуктов:
+-----------------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+---------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| price | decimal(10,0) | NO | | NULL | |
| name | varchar(255) | YES | | NULL | |
| category_id | int(11) | YES | MUL | NULL | |
+-----------------+---------------+------+-----+---------+----------------+