deen812 / model-change-recorder
Библиотека для отслеживания изменений в модели
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/deen812/model-change-recorder
Requires
- php: >=8.0
This package is auto-updated.
Last update: 2025-10-02 11:04:14 UTC
README
Установка
composer require deen812/model-change-recorder
Для копирования файла миграции в проект и запуска выполните:
php artisan vendor:publish --provider="Deen812\ModelChangeRecorder\ModelChangeRecorderServiceProvider" --tag="migrations" php artisan migrate
Использование
Добавление в метод модели
Для отслеживания редактирования модели достаточно добавить класс ModelChangeRecorderEvents
class Item extends Model { public static function boot() { parent::boot(); //Отслеживаем изменения модели self::observe(new ModelChangeRecorderEvents()); } }
Когда необходимо отслеживать изменения на уровне запросов, например:
//Событие модели update не будет вызвано Item::query()->update(['price' => rand(8,888)]);
Добавьте следующий код:
class Item extends Model { public static function boot() { parent::boot(); //Отслеживаем изменения модели self::observe(new ModelChangeRecorderEvents()); } //Теперь обновление через queryBuilder тоже будет отслеживаться public function newEloquentBuilder($query) { return new ModelChangeRecorderQueryBuilder($query); } }
Запуск воркера
php artisan queue:listen --queue=model_change_recorder