CRUD для двух связанных таблиц, при условии что во второй может не быть ячейки по записи из первой

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
MarkL
Сообщения: 68
Зарегистрирован: 2017.07.05, 20:37

CRUD для двух связанных таблиц, при условии что во второй может не быть ячейки по записи из первой

Сообщение MarkL »

Есть 2 таблицы:

Таблица service
Отвечает за хранение услуг.
Поля: id, name, cost, price, min, max.

Таблица service_api
Некоторые услуги могут быть иметь настройки API, некоторые нет(обрабатываются вручную).
Поля: service_id(&service=>id), order_link, check_link

Вопрос состоит в том, как грамотно оформить вывод и редактирование данных для этих двух таблиц, при условии, что:
Не каждая услуга имеет свои настройки API, но каждая настройки API имеет свою услугу.

На данный момент, у меня проблема конкретно с созданием и сохранением, то есть как это реализовать без JS.
В плане сохранения есть идея: сделать форму ServiceForm, которая будет в себе иметь свойства и таблицы Service, и ServiceApi.

И если при создании услуг пользователь не заполнил поля таблицы service_api, а именно: order_link, check_link - проверять это и дергать метод, который будет сохранять лишь данные в таблицу service. Но тут тогда вопрос при редактировании: как выводить данные на форму? Можно, конечно, сделать проверку на Controller'e имеет ли услуга настройки API и если нет - выводить одну форму, если есть - другую. Но этот способ кажется слишком громоздким и не самым верным.

Возможно, есть более элегантное решение?
Ответить