@MarkLb

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

Есть 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 и если нет - выводить одну форму, если есть - другую. Но этот способ кажется слишком громоздким и не самым верным.

Возможно, есть более элегантное решение?
  • Вопрос задан
  • 189 просмотров
Пригласить эксперта
Ответы на вопрос 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Некоторые услуги могут быть иметь настройки API

А нужна ли под это отдельная таблица? Не проще ли это хранить в виде json в таблице service в столбце "api"?

Можно, конечно, сделать проверку на Controller'e имеет ли услуга настройки API

При чем тут контроллер? У Вас должна быть связь в модели. И если она вернула null - значит нет связанных данных.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы