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