Yii2 и логирование измененных полей
- vitalik1183
- Сообщения: 1675
- Зарегистрирован: 2014.07.01, 08:42
Yii2 и логирование измененных полей
Допустим зашел 1 манагер - обновил 5 полей из 50 полей.
Зашел другой манагер - обновил 2 поля у записи.
Зашел админ - видит какие поля, у какой записи и во сколько правил каждый манагер. Интересует именно набор измененных полей, а не просто время сохранения записи.
Куда копать, как реализовывать? Натолкните.
Зашел другой манагер - обновил 2 поля у записи.
Зашел админ - видит какие поля, у какой записи и во сколько правил каждый манагер. Интересует именно набор измененных полей, а не просто время сохранения записи.
Куда копать, как реализовывать? Натолкните.
Yii2!
Re: Yii2 и логирование измененных полей
То, что Вам нужно, называется версионированием моделей. Для Yii1 есть, например, такое. Подсмотрите реализацию, запилите behavior для Yii2 и поделитесь с сообществом
- vitalik1183
- Сообщения: 1675
- Зарегистрирован: 2014.07.01, 08:42
Re: Yii2 и логирование измененных полей
ну по идее можно отследить разницу при сохранении, что было и что стало, отсюда получить список измененных полей.
Yii2!
Re: Yii2 и логирование измененных полей
Странно, что Вы сомневаетесь. Разумеется, это можно сделать. Но суть то в том, что Вам нужно эту разницу (diff полей) как-то хранить, чтобы потом админу показать. Я Вам пример реализации для Yii1 показал.
- vitalik1183
- Сообщения: 1675
- Зарегистрирован: 2014.07.01, 08:42
Re: Yii2 и логирование измененных полей
да не, мне можно просто записать хоть текстом что такие то поля были изменены, понимаю, что с точки зрения проектирования вариант кривой, но далее эта инфа кроме просмотра нигде и никому не нужна.MaxHero писал(а):Странно, что Вы сомневаетесь. Разумеется, это можно сделать. Но суть то в том, что Вам нужно эту разницу (diff полей) как-то хранить, чтобы потом админу показать. Я Вам пример реализации для Yii1 показал.
Yii2!
Re: Yii2 и логирование измененных полей
посмотрите в сторону https://github.com/Sammaye/yii2-audittrail
- vitalik1183
- Сообщения: 1675
- Зарегистрирован: 2014.07.01, 08:42
Re: Yii2 и логирование измененных полей
В таком случае в ActiveRecord::afterSave() обрабатываем $changedAttributes, строим сообщение лога и сохраняем в БДvitalik1183 писал(а):да не, мне можно просто записать хоть текстом что такие то поля были изменены, понимаю, что с точки зрения проектирования вариант кривой, но далее эта инфа кроме просмотра нигде и никому не нужна.MaxHero писал(а):Странно, что Вы сомневаетесь. Разумеется, это можно сделать. Но суть то в том, что Вам нужно эту разницу (diff полей) как-то хранить, чтобы потом админу показать. Я Вам пример реализации для Yii1 показал.
- vitalik1183
- Сообщения: 1675
- Зарегистрирован: 2014.07.01, 08:42