MySQL: реляционная таблица «один ко многим», все команды выбора возвращаются в один столбец json - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть таблица заголовков, которая содержит идентификатор и имя людей. А затем у меня есть много таблиц, содержащих сведения об этих людях, такие как номер телефона, адрес, пол, место рождения и т. Д. c.

Как я могу вернуть команду SELECT после объединения всех этих таблиц, но вернуть его только в один json заполненный столбец?

Выходные данные должны быть такими: {"id": '' 236732 "," name ":" John Doe "," phone ":" 4875696 " , ...}

Могу ли я действительно это сделать?

table_header ## Заголовок ##

идентификатор

1 Джон Доу

2 Джек Воробей

3 Джейн Доу

....

...

....

5000 Джейн Силк

идентификатор таблицы_детей номер телефона 1 34574358 2 68538039 3 7537689237 .... ... ... 5000 89457987

идентификатор таблицы_деталей2 идентификатор 1 хххххххх 2 ххххххх 3 хххххххх .... .. .. .... 5000 xxxxxxx

table_detail3 .... .... ..... .... .... table_detail10 (с почти такой же структурой, с записью более 5000+ каждый)

Я хочу сделать одно дополнительное поле с * 103 6 * введите в table_header, который содержит всю подробную информацию о конкретном пользователе.

1 Ответ

0 голосов
/ 16 апреля 2020

Когда вы говорите «одной строкой», это напоминает мне о проблеме, с которой я столкнулся, когда эхо было несколькими json объектами, но отправляется как одна строка, и мне пришлось проанализировать его в клиенте JS следующим образом :

var lines = JSON.parse('[' + this.responseText.replace(/}{/g, '},{') + ']');

Проблема в том, что между объектами нет разделителя, и из него получается массив. Поэтому вы хотите, чтобы это был один json объект? Если так, то это может быть обходной путь для вас. php довольно просто, как сказал Ник:

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