Запрос к родителю и детям в формате JSON из MySQL 5.6? - PullRequest
0 голосов
/ 01 июля 2019

У меня есть иерархия таблиц в базе данных MySQL 5.6, которую мне нужно запросить в формате JSON для использования в древовидной структуре javascript.

Так же, как тест в моей колбе, я выполнил следующее только дляверхний уровень

def get_all_customers():
    response_object = {'status': 'success'}

    cnx = mysql.connector.connect(user="", password="", database="", host="localhost", port=3306)
    cursor = cnx.cursor()
    cursor.execute('SELECT idx, name FROM listcustomers ORDER BY name')
    data = []
    for idx, name in cursor:
        data.append({'id': idx, 'label':name, 'otherProp': "Customer"})
    response_object['customers'] = data

    return jsonify(response_object)

, который возвращает

[
    { id: 1,
      label: "customer 1",
      otherProp: "Customer"
    },
    ...
]

Но у каждого клиента есть местоположения, и у каждого местоположения есть области, и у каждой области есть активы, и у каждого актива есть проекты, и мне нужнотакже запросить их у потомков этого объекта JSON.Так, например, просто перейдя на один уровень глубже к локациям, мне нужно что-то вроде этого -

[
    { id: 1,
      label: "customer 1",
      otherProp: "Customer",
      children: [
                  {
                     id: 5,
                     label: "location 5",
                     otherProp: "Location"
                  },
                  ...
                ]
    },
    ...
]

, где в моей базе данных listlocatiosn, который ссылается на listcustomers через столбец parentCustomerId.Как я могу справиться с этим?В конечном итоге в этом дереве будет около 13 000 объектов, поэтому я знаю, что просто запросить данные, а затем проанализировать их с помощью python, будет гораздо более неэффективно, чем если бы я мог правильно выполнить запрос для начала.

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