Добавление записей в базу данных
Создание бизнес процесса для добавления записей в базу данных
Теперь, по нажатию кнопки Save, необходимо организовать процесс передачи введенных данных в базу для создания новой страны. И в этом стоит разобраться поподробнее.
Чисто технически все очень похоже на действия из предыдущих модулей. Есть эндпойнт, который выполняет определенные действия (в нашем случае это создание новой записи в базе данных), нужно передать ему данные и запустить выполнение. Отличие в том, что передаются не просто отдельные поля (как было с X и Y), передается объект целиком. На этапе проектирования базы данных была создана модель и теперь для запуска эндпойнта нужно передать готовый объект этой модели.
А вот сам объект как раз и будет собираться из отдельных полей. Для это нужно выбрать соответствующий блок Make (в нашем случае Make country) и передать ему данных из полей ввода.
Тут же можно заметить, что полей в модели довольно много, но многие из них являются системными (ID, CreatedAt, UpdatedAt, DeletedAt), а значит будут созданы автоматически. Можно было бы передать информацию о связанной таблице городов, указать какие города есть в данной стране, но на данном этапе это не имеет смысла, ведь в базе еще нет ни одного города. Поэтому данное поле оставим пустым.
Итак, необходимо выполнить следующие действия:
- Собрать данные из полей для ввода
- Сформировать объект для записи в базу данных (блок Make)
- Передать готовый объект на эндпойнт создания (POST) записи в базе данных
В готовом виде бизнес-процесс выглядит подобным образом:
Стоит еще раз обратить внимание на то, что блок Make сам по себе не создает никаких записей в базе. Он лишь формирует объект. А вот как этот объект будет в дальнейшем использоваться (передаваться для записи в базу или куда-то еще) - зависит исключительно от логики вашего приложения.
На этом процесс создания можно было бы закончить, он уже работоспособен, но для реального использования еще очень неудобен. Стоит, как минимум, добавить подтверждающее сообщение. Для этого узнаем сам результат записи (_success) и, в зависимости от результата (If-Else), покажем соответствующее сообщение (блок Show Notification), а также автоматически закроем модальное окно (Modal Hide). Кстати, закрытие стоит назначить и на кнопку Cancel модального окна.