Пакет spatie/laravel-activitylog
предоставляет простые в использовании функции для регистрации действий пользователей вашего приложения. Он также может автоматически регистрировать события модели. Пакет сохраняет всю активность в таблице activity_log
.
Вот демонстрация того, как вы можете его использовать:
activity ()-> log ( ' Look, I logged something ' );
Вы можете получить всю активность, используя модель SpatieActivitylogModelsActivity
.
Activity:: all ();
Вот более продвинутый пример:
activity ()
-> performedOn ( $ anEloquentModel )
-> causedBy ( $ user )
-> withProperties ([ ' customProperty ' => ' customValue ' ])
-> log ( ' Look, I logged something ' );
$ lastLoggedActivity = Activity:: all ()-> last ();
$ lastLoggedActivity -> subject ; //returns an instance of an eloquent model
$ lastLoggedActivity -> causer ; //returns an instance of your user model
$ lastLoggedActivity -> getExtraProperty ( ' customProperty ' ); //returns 'customValue'
$ lastLoggedActivity -> description ; //returns 'Look, I logged something'
Вот пример регистрации событий.
$ newsItem -> name = ' updated name ' ;
$ newsItem -> save ();
//updating the newsItem will cause the logging of an activity
$ activity = Activity:: all ()-> last ();
$ activity -> description ; //returns 'updated'
$ activity -> subject ; //returns the instance of NewsItem that was saved
Вызов $activity->changes()
вернет этот массив:
[
' attributes ' => [
' name ' => ' updated name ' ,
' text ' => ' Lorum ' ,
],
' old ' => [
' name ' => ' original name ' ,
' text ' => ' Lorum ' ,
],
];
Мы вкладываем много ресурсов в создание лучших в своем классе пакетов с открытым исходным кодом. Вы можете поддержать нас, купив один из наших платных продуктов.
Мы очень признательны вам за отправку нам открытки из вашего родного города с указанием того, какой из наших пакетов вы используете. Наш адрес вы найдете на странице контактов. Все полученные открытки мы публикуем на нашей виртуальной стене открыток.
Вы найдете документацию по адресу https://spatie.be/docs/laravel-activitylog/introduction.
Вы застряли в использовании пакета? Нашли ошибку? У вас есть общие вопросы или предложения по улучшению журнала активности? Не стесняйтесь создавать проблему на GitHub, мы постараемся решить ее как можно скорее.
Вы можете установить пакет через композитор:
composer require spatie/laravel-activitylog
Пакет автоматически зарегистрируется.
Вы можете опубликовать миграцию с помощью:
php artisan vendor:publish --provider= " SpatieActivitylogActivitylogServiceProvider " --tag= " activitylog-migrations "
Примечание . При миграции по умолчанию предполагается, что вы используете целые числа для идентификаторов моделей. Если вы используете UUID или какой-либо другой формат, настройте формат полей subject_id и Causer_id в опубликованной миграции, прежде чем продолжить.
После публикации миграции вы можете создать таблицу activity_log
, запустив миграцию:
php artisan migrate
При желании вы можете опубликовать файл конфигурации с помощью:
php artisan vendor:publish --provider= " SpatieActivitylogActivitylogServiceProvider " --tag= " activitylog-config "
Пожалуйста, посетите CHANGELOG для получения дополнительной информации о недавних изменениях.
Подробности см. в разделе ОБНОВЛЕНИЕ.
composer test
Пожалуйста, смотрите ВКЛАД для получения подробной информации.
Если вы обнаружили ошибку, связанную с безопасностью, отправьте электронное письмо по адресу [email protected] вместо использования системы отслеживания проблем.
И особая благодарность Caneco за логотип и Ахмеду Наги за всю работу, которую он вложил в v4
.
Лицензия MIT (MIT). Дополнительную информацию см. в файле лицензии.