Laravel 5, log DB:: вставка таблицы, обновление, удаление событий

Я занимаюсь разработкой приложения Laravel 5. В котором я хочу регистрировать событие DB::table, вставлять, обновлять и удалять все новые или измененные (в случае обновления DB::table) поля DB::table. Я хочу простое многоразовое решение без написания большого количества кода.

2 ответа

Простое решение - использовать Eloquent Events.

Вы можете связать события для всех моделей, которые вы хотите глобально, используя поставщика услуг:

class AppServiceProvider extends ServiceProvider
{
    public function boot()
    {
        User::creating(function ($user) {
            // Do logging
        });
    }

Вы можете использовать DB::listen(), как указано здесь.

// in your AppServiceProvider
public function boot()
{
    DB::listen(function ($query) {
        // $query->sql
        // $query->bindings
        // $query->time
    });
}
Другие вопросы по тегам