Вложенный ответ Json от NodeJs и MySql - PullRequest
0 голосов
/ 17 октября 2019

У меня есть 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    |                |
+-----------------+---------------+------+-----+---------+----------------+

1 Ответ

0 голосов
/ 18 октября 2019

Маршрут

export const route = (router: any) => {
    return router.get('/your_route_here', (req: any, res: any) => {
        // do your logic here
    });
}

export default route;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...