29
Ноя
2017

переназначить id

Всем добрый день!

Есть три таблицы в базе данных.

В первой лежат persons, во второй services, в третьей отношение МкМ services_to_persons.

Персоны имеют уникальный id который повышается как auto_increment. То же самое с services.

В services_to_persons лежат соотношения персон к сервисам. При этом к одному сервису может быть прикреплено множество персон и наоборот.

Я беру данные из БД, формирую json и отправляю в API.

Внутри json есть несколько массивов - в первом указанны все персоны в виде id + ФИО, во втором указанны все сервисы, а привязанные к ним гости указываются как подмассив id персон.

И все было бы здорово и хорошо работало, но тут оказалось, что внутри json id массива persons но может превышать 999. А из БД получаются куда как большие значения.

И задача, которая встала передо мной - переназначить id для массива персон, после получения из БД, и до создания json. И чего-то мне никак не приходит в голову, какой бы хитростью, что бы не писать громоздких циклов это сделать.

Может как-то на моменте получения из БД, сразу пересобрать массив persons?

UPD

На данный момент сделал такое решение - при получении из БД массива persons назначаю им новые id, а потом при записи в массив services->guests просто при помощи if сравниваю id из БД, со старым id персон из БД. Но это получается все же какой-то индусский код. Может есть более элегантные решения?

Источник: https://ru.stackoverflow.com/questions/751080/%D0%BF%D0%B5%D1%80%D0%B5%D0%BD%D0%B0%D0%B7%D0%BD%D0%B0%D1%87%D0%B8%D1%82%D1%8C-id

Тебе может это понравится...

Добавить комментарий