Дублирование записей при множественном нажатии на Сохранить Laravel
Есть WEB-приложение автоматизированного рабочего места оператора и супервайзера колл-центра - называется VCE. Предназначено для работы оператора с информацией о клиентах организации при обработке телефонных вызовов, а также для осуществления супервайзером наблюдения и контроля за работой ЦОВ. Приложение состоит из фронта на vue.js и бэкэнда на laravel.
Из браузера пользователя приложение устанавливает подключение по WebSocket к стороннему сервису, который JSON сообщением уведомляет браузер пользователя о поступлении телефонного звонка на сотрудника компании. По сообщению о звонке WEB-приложение показывает пользователю блок "Карточка звонка", где пользователь заполняет информацию о собеседнике, нажимает кнопку "Сохранить" и информация из карточки попадает в базу клиентов.
Сейчас происходит такая ситуация, что если нажать несколько раз кнопку "Сохранить" в блоке "Карточка звонка", информация из карточки несколькими строками добавиться в БД (в базу клиентов). Нужно сделать так, чтобы информация не дублировалась в базе, а обновлялась для уже существующей записи в БД.
Изюминки:
- форма, т.е. атрибуты (параметры) карточки входящего звонка, которая отображается в блоке "карточка звонка" при поступлении вызова, настраиваются в отдельном компоненте
- среди атрибутов карточки (параметров формы) есть разные типы: текстовое поле, дата-время, списки. А есть такой тип параметра - "Номер телефона" - это есть номер телефона клиента, от которого поступил звонок. Номер телефона клиента, от которого поступил звонок, является уникальным идентификатором записи в бд. Т.е. это и должен быть PRIMARY ключ, по которому происходит оценка, есть уже запись о таком клиенте в базе или нет.
- в системе может быть несколько форм (карточек) входящего звонка с разным набором параметров (в СУБД это вроде представлено разными таблицами, которые создаются или удаляются и столбцы таблиц создаются и удаляются в зависимости от того, какие параметры формы карточки входящего звонка были определены).
Заявки фрилансеров
