Spatie Laravel-Activitylog вызвал, выполненный по модели Logging

я использую этот пакет для регистрации активности в laravel
Я могу сделать запись с контроллера, но я хочу сделать это с помощью модели.

Я прочитал эту полезную информацию из официальная документация

но он не хранит идентификатор субъекта, тип и идентификатор причины, тип. Я могу сохранить его из контроллера как

activity()
->causedBy($userModel)
->performedOn($someContentModel)
->log('edited');

Как это сделать из модели? Предложения приветствуются.

1

Решение

Хорошо. Теперь я получил твой вопрос. Если вы хотите выступление в Модале.
Ниже мой пример кода в моем Business Модельный класс.

 protected static function boot()
{
//to log what field update
static::updating(function ($business) {
$changes = $business->isDirty() ? $business->getDirty() : false;
if($changes)
{
foreach($changes as $attr => $value)
{
activity()
->performedOn($business)
->causedBy(auth()->user())
->withProperties(['business_name' => $business->name, 'which field updated' => $business->getDirty()])
->log('Business Field <span class="text-green">Updated</span>  - '.$business->name);

}
}
});
}

Для информации субъекта, которую вы должны добавить вручную, ниже приведен мой пример кода, как я храню его в контроллере. Я надеюсь, что вы можете получить некоторую ссылку.

activity()
->performedOn($business)
->causedBy(auth()->user())
->withProperties(['business_name' => $business->name)
->log('Business <span class="text-green">Updated</span>  - '.$business->name);

Записи БД, как показано ниже:

дБ запись

+----+----------+-----------------------------------------------------------------+------------+--------------+-----------+-------------+-------------------------------------+---------------------+---------------------+
| id | log_name | description                                                     | subject_id | subject_type | causer_id | causer_type | properties                          | created_at          | updated_at          |
+----+----------+-----------------------------------------------------------------+------------+--------------+-----------+-------------+-------------------------------------+---------------------+---------------------+
|  1 | default  | Business <span class="text-green">Updated</span> - Companies 10 |         10 | App\Business |         1 | App\User    | {"business_name":"Best Restaurant"} | 2017-08-04 14:58:06 | 2017-08-04 14:58:06 |
+----+----------+-----------------------------------------------------------------+------------+--------------+-----------+-------------+-------------------------------------+---------------------+---------------------+
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector