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 :

1
DB::enableQueryLog();

untuk mengaktifkan opsi query

dan

1
dd(DB::getQueryLog());

untuk menampilkan query di browser. Jadi seperti ini :

1
2
3
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 :

1
2
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\DB;

Lalu pada fungsi boot, tambahkan DB::listen yang selanjutnya melakukan log ke dalam file

1
2
3
4
5
6
7
8
9
10
11
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
);
});
}
}

Tulisan Lain   PHPjs : Kumpulan Cara Implementasi Fungsi PHP di JavaScript

By alfach

Leave a Reply

Your email address will not be published. Required fields are marked *