Логирование запросов в Laravel для модели: методы и примеры

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

  1. Использование метода DB::listen:

    DB::listen(function ($query) {
    Log::info($query->sql, $query->bindings, $query->time);
    });

    Этот код прослушивает все запросы к базе данных и регистрирует их с помощью метода Log::info.

  2. Использование событий модели:

    use Illuminate\Support\Facades\DB;
    use App\Models\YourModel;
    YourModel::created(function ($model) {
    DB::connection()->enableQueryLog();
    // Your custom logic
    $queries = DB::getQueryLog();
    Log::info($queries);
    });

    В этом примере мы прослушиваем событие createdмодели YourModel. Как только событие инициируется, мы включаем ведение журнала запросов, выполняем вашу пользовательскую логику, а затем извлекаем зарегистрированные запросы с помощью DB::getQueryLog().

  3. Использование Laravel Debugbar:
    Если у вас установлен пакет Laravel Debugbar, он предоставляет удобный способ регистрации и отображения запросов. После установки вы можете просто открыть панель отладки в своем приложении и перейти на вкладку «Запросы», чтобы просмотреть все выполненные запросы.

Обязательно импортируйте необходимые классы (Log, DB, YourModel) в верхней части файла.