У меня есть две таблицы базы данных с отношением один-ко-многим между ними и отношением родитель-потомок в каждой из таблиц. Здесь таблица reference (одна сторона) работает как главная таблица, а таблица reference_copies (много сторон) работает как реплики мастера. Я хочу создать форму пользовательского интерфейса в AngularJS, чтобы предоставить пользователю функции вставки / обновления. Как показано в UI_image , пользователь может go до уровня n уровня, как он / она хочет. Также прикреплено изображение со структурой таблиц базы данных.
В таблице reference_copies данные уже могут существовать, так как мы также загружаем их через excel. Здесь столбцы name и type_id, объединяющиеся вместе, создают уникальные ограничения. Поэтому, пока пользователь пытается добавить уровень, мне нужно проверить, существует ли имя для этого типа или нет. Если существует, тогда извлекайте объект, сохраняйте и извлекайте сохраненный объект (с созданным идентификатором). Здесь значение и выбранный тип будут одинаковыми для всех уровней, поэтому пользователю необходимо выбрать только один раз.
При окончательном представлении каждый уровень мастер-формы будет сопоставлен с соответствующими ссылочными копиями каждого уровня. то есть родительское имя мастера будет отображено с родительскими именами reference_copies 1, 2 ... Аналогично, уровень 1 мастера будет отображен с level1 reference_copies 1 & 2. и так далее. Если в какой-либо форме нет соответствующего уровня, ничего не происходит, этот уровень не будет сопоставлен ни с одним. Здесь нет никаких ограничений для создания сходства по уровням. Как показано в примере, основная форма имеет два уровня, форма справочной копии 1 имеет только один уровень, а форма справочной копии 2 имеет 3 уровня.
На последней кнопке отправки я хочу создать json полезная нагрузка, как показано ниже: Кроме того, когда я получаю ответ json в формате ниже с идентификаторами, форма должна быть заполнена, как показано выше для обновления.
{
"name": "Reference Name",
"childs": [
{
"name": "child level1 name",
"childs": [
{
"name": "childlevel2 name",
"childs":[],
"referenceCopies": [
{
"id" : 2004
}
]
}
],
"referenceCopies": [
{
"id": 2001
},
{
"id": 2003
}
]
}
],
"referenceCopies": [
{
"id": 2000
},
{
"id": 2002
}
]
}
Я пытался с рекурсивным шаблоном в AngularJS чтобы достичь этого, но это не работает. Может ли кто-нибудь предоставить некоторую демонстрацию или предложение для достижения вышеупомянутых требований. Пожалуйста, дайте мне знать, если вышеприведенное описание является неполным или неясным.