Melakukan Print dan Log Query di Laravel
Ada kalanya ketika mengembangkan aplikasi kita perlu melihat query apakah sesuai dengan yang kita inginkan. Untuk melihat query tersebut bisa melalui dua cara, yaitu print query terakhir atau menyimpannya ke dalam log. Jika keperluannya hanya melihat query terakhir, maka itu bisa melalui print query. Tapi jika terdapat banyak query, maka log query akan lebih baik untuk dianalisa.
Melakukan Print Query
Untuk melakukan print query dilakukan dengan menambahkan :
DB::enableQueryLog();untuk mengaktifkan opsi query
dan
dd(DB::getQueryLog());untuk menampilkan query di browser. Jadi seperti ini :
DB::enableQueryLog();
$arr_user = DB::table('users')->select('name', 'email as user_email')->get();
dd(DB::getQueryLog());Melakukan log query
Untuk melakukan log query secara manual, bisa melalui konfigurasi file laravel. Buka file app/Providers/AppServiceProvider.php. Lalu tambahkan :
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\DB;Lalu pada fungsi boot, tambahkan DB::listen yang selanjutnya melakukan log ke dalam file
public function boot()
{
if(env('APP_DEBUG')) {
DB::listen(function($query) {
File::append(
storage_path('/logs/query.log'),
$query->sql . ' [' . implode(', ', $query->bindings) . ']' . PHP_EOL
);
});
}
}Bacaan terkait
Cara Install Composer di Windows Dengan Mudah
Composer adalah dependency manager yang sangat populer untuk pengembangan aplikasi berbasis PHP. Di artikel ini, Anda akan belajar cara menginstal Composer di Window...
Panduan Instalasi PHP, MySQL, dan Apache di macOS
Instalasi PHP, MySQL, dan Apache (sering disebut sebagai stack LAMP - Linux, Apache, MySQL, PHP) pada macOS sangat penting bagi pengembang web yang ingin menjalankan...
Menerapkan IP Blocker di Laravel
Untuk meningkatkan security di website, salah satunya dengan menerapkan IP blocker atau mem-blokir IP address yang mengakses website. Di laravel salah satunya dengan...
Komentar (0)
Belum ada komentar. Jadilah yang pertama.
Tulis komentar
Komentar akan dimoderasi sebelum tampil.