Yii2 историчность и отложенная валидация

Обсуждение документации второй версии фреймворка. Переводы Cookbook и авторские рецепты.
Ответить
Аватара пользователя
NEIRON
Сообщения: 102
Зарегистрирован: 2013.10.23, 07:18

Yii2 историчность и отложенная валидация

Сообщение NEIRON »

Всем привет!
2 вопроса:
  1. Историчность данных, когда хранится вся история сохранения модели. Видел примеры, когда всё хранят в одной таблице, но тут кажется не очень удобно работать, если есть PRIMERY KEY ID, который очень удобно как уникальный номер сущности (номер заявки и т.д.). Также видел пример когда создается отдельная зеркальная таблица, куда пишутся все изменения.
  2. Отложенная валидация или не знаю, как правильно это назвать. Когда пользователь, например, оформляет заявку, состоящую из 10 полей. Заявка попадает на проверку куратору, он смотрит его данные, и говорит, что нужно поправить 5 и 10 поля, типа они не прошли проверку. Пользователь правит эти данные. Заявка снова поступает куратору, они видит, что при первой проверке были замечания только к 5 и 10 полю, видет, что пользователь их поправил и говорит, что его заявка ОК, может двигаться дальше
Поделитесь в комментариях вашими идеями по этому поводу. Спасибо
skynin
Сообщения: 400
Зарегистрирован: 2017.12.12, 10:09

Re: Yii2 историчность и отложенная валидация

Сообщение skynin »

NEIRON писал(а): 2020.05.10, 00:31 [*]Историчность данных, когда хранится вся история сохранения модели.
Способ зависит от того как потом используется эта историчность.
Диапазон решений: от простого логирования, в текстовые файлы, до использования средств БД, например:
https://mariadb.com/docs/appdev/temporal-tables/
NEIRON писал(а): 2020.05.10, 00:31 [*]Отложенная валидация или не знаю, как правильно это назвать. Когда пользователь, например, оформляет заявку, состоящую из 10 полей. Заявка попадает на проверку куратору, он смотрит его данные, и говорит, что нужно поправить 5 и 10 поля, типа они не прошли проверку. Пользователь правит эти данные.
Вводится статус заявки, и "причина" статуса.
Диапазон решений: от хранения сообщения в текстовом поле, до отметок о состоянии валидации каждого поля.

Выбор решения в каждом случае зависит от остальных требований, сложности изменения существующего кода и т.п.
Не желайте странного, и не будет у вас головной боли чтобы достичь этого странного.
Тем более что окажется что оно вам и не нужно было, странное это.
Ответить