Всем привет! Возник такой вопрос:
1) есть порядка 10 таблица (сущностей)....
2) в каждой из них - все стандартно (CRUD и т.д.)
3) в каждой таблице есть по 2-3 поля, которые состоят из "более чем двух вариантов".. Чтоб было понятно:
- есть таблица Orders..
- у каждого Ордера есть status с вариантами: live, error, new, canceled
Хочу в GridView в фильтре выводить те статусы, которые есть в значениях колонки status
а вот при добавлении Ордера и редактировании - уже нужно выводить ВСЕ варианты...
Пока все сделано "как обычно" - во ввьюхах прописаны жестко "ручками".. но это - "костыль"... Хочется от него избавится
'filter' => Html::activeDropDownList($searchModel, 'status', ['active' => 'Active', 'live' => 'Live', 'error'=>'Error'], ['class' => 'form-control', 'prompt' => 'Все']),
Вопрос: где "зафиксировать все возможные варианты"?
В модели, конечно, можно сделать в rules что-то типа:
[
// проверяет, что значение "level" равно Live, Active или Error
['level', 'in', 'range' => [Live, Active, Error]],
]
Я ж правильно понимаю, что это более-менее безопасный способ и "посторонний статус" в БД не пройдет?
https://www.yiiframework.com/doc/guide/2.0/ru/tuto...
Но как потом вытащить эти все разрешенные варианты для отображения в Форме редактирования/добавления и в filter GridView?
Не знаю...
Также, думал, запихнуть все доступные варианты в E-NUM поле "status" таблицы Orders - но опять же не знаю как вытаскивать все доступные варианты...
Подскажите true way решение этой задачи...
Прошу строго не судить - с ООП вообще знаком недавно.. с Yii - 3 недели =)