Как правильно добавить пункт "Все" к модели?

Обсуждаем, как правильно строить приложения
Ответить
top-secret
Сообщения: 2
Зарегистрирован: 2017.05.24, 13:32

Как правильно добавить пункт "Все" к модели?

Сообщение top-secret »

Добрый день!

Кажется что начал делать костыли, поэтому решил написать сюда ...
Кратко о задаче
Есть две модели, к примеру, Изделия <<-> Цвет.
Т.е. Изделие может быть какого-то одного цвета.
Но есть Изделия-исключения, которые могут быть всех цветов. Сейчас в таблице Изделия в поле цвет для таких записей стоит NULL.
При редактировании естественно возникает ошибка в модели Цвет нет записи с id=NULL

Какие задачи присутствуют в приложении:
Проверка можно ли реализовать Конкретное изделие в конкретном цвете (Прописал условие - работает. Условно если есть запрос Можно ли сделать Синее ИделиеИсключение1 получаем положительный ответ.)
Получение для фронтенда (справочник цветов ) - только реальных цветов без записи "Все цвета" (И так работает)
Получение при редактировании справочника цветов с пунктом "Все цвета" - для корректного создания и сохранения Изделий-исключений.

Собственно вопрос как это правильно и возможно ли вообще решить при 2-х моделях ?
Или надо создавать третью (ИзделияИсключения), а возможно и четвертую ВсеИзделия = Изделия + ИзделияИсключения
Или аналогично создавать третью модель ВсеЦвета с одним экземпляром ....

Заранее благодарен за любые рекомендации по данному вопросу. Думаю должно быть какое-то правильное элегантное решение..
С уважением Александр.
Nex-Otaku
Сообщения: 831
Зарегистрирован: 2016.07.09, 21:07

Re: Как правильно добавить пункт "Все" к модели?

Сообщение Nex-Otaku »

При редактировании естественно возникает ошибка в модели Цвет нет записи с id=NULL
Уберите эту проверку и всё заработает.
Получение при редактировании справочника цветов с пунктом "Все цвета" - для корректного создания и сохранения Изделий-исключений.
Добавляете ещё один пункт в список прямо в форме.
top-secret
Сообщения: 2
Зарегистрирован: 2017.05.24, 13:32

Re: Как правильно добавить пункт "Все" к модели?

Сообщение top-secret »

Спасибо. Попробую сделать так.
Ответить