Как заселить отношения многие ко многим
У меня много отношений между двумя моделями. Но я не могу понять, как создать форму или таблицу, чтобы добавить записи в отношение многие ко многим. Я использую Google Drive Tables.
Я попытался проверить, правильно ли установлено отношение, я экспортировал данные и вручную заполнил ключи на листе, созданном для отношения "многие ко многим". Я проверил, используя выпадающие списки для фильтрации данных, и это работает хорошо.
Это, наверное, просто, но я просто не могу понять, как это сделать. Пожалуйста помоги.
Маурисио
1 ответ
С отношением "многие ко многим" на уровне объекта / API App Maker предоставляет массив связанных записей. Допустим, у нас есть модели "Вопросы" и "Теги", имеющие отношение "многие ко многим". Мы можем создать ассоциацию с любого конца отношения:
// create association from question side
question.Tags.push(tag);
// create association from tag side
tag.Questions.push(question);
Multiselect Widget сделает эту работу для. Допустим, нам нужно добавить несколько тегов для вопросов, и нам нужно связать множественный выбор со всеми тегами, которые есть в нашей БД, тогда привязка будет выглядеть примерно так:
// binding for Multiselect's names (.. - two dots mean projection)
@datasources.Tags.items..Name
// binding for Multiselect's options
@datasources.Tags.items
// binding for Multiselect's values
// assuming that parent widget is bound to datasource with question
// and `@datasource.item` is question
@datasource.item.Tags
с привязкой виджетов Suggest Box и Dropdown будет похоже на мультивыбор, но вам нужно будет выполнить некоторые сценарии:
// onValueEdit event handler
// assuming that parent widget is bound to datasource with question
widget.datasource.item.Tags.push(newValue);