Tutorial Laravel 5.5 - Cara Menjalankan Raw Query Database



Pada artikel tutorial Laravel kali ini saya akan menjelaskan bagaimana cara menjalankan raw query. Sebelumnya saya sudah menjelaskan bagaimana cara melakukan manipulasi data pada databade dengan menggunakan Eloquent.

Baca juga :
https://ozkadon.blogspot.com/2018/07/tutorial-laravel-55-eloquent-bagian-6.html

Nah selain dengan menggunakan Eloquent, kita juga bisa menggunakan facade DB untuk menjalankan query maupun untuk melakukan manipulasi data. Salah satu fungsi kegunaan dari facade DB ini adalah untuk menjalankan raw query yang sudah anda buat sebelumnya. Jadi anda tidak perlu mengubah query tersebut menjadi ke dalam bentuk Eloquent. Jika query yang anda buat tidak terlalu kompleks mungkin masih mudah saja anda mengubahnya menjadi bentuk Eloquent. Namun jika sudah sangat kompleks seperti melakukan join dengan sub query dan lain sebagainya akan lebih mudah jika menggunakan DB seperti tutorial berikut ini.


#MENJALANKAN SELECT QUERY

Untuk menjalankan query select dapat digunakan method select yang terdapat di dalam facade DB. Caranya dapat dilihat pada contoh berikut ini 

$data = DB::select('select * from users where active = ?', [1]);

Pada contoh di atas digunakan terdapat 2 parameter di dalam mehod select. Parameter pertama adalah query yang akan dijalankan sedangkan parameter kedua berupa array yang digunakan sebagai nilai dari parameter pertama. Misalnya di dalam kode di atas digunakan angka 1 untuk mengisi field active di dalam query

Penggunaan parameter binding ini untuk mencegah serangan SQL Injection. Hasil dari select di atas akan mengembalikan data berupa array yang dapat diakses dengan cara seperti kode di bawah ini

foreach ($data as $user) {
    echo $user->name;
}

Selain parameter binding, kita juga dapat menggunakan cara named binding. Caranya adalah dengab mengganti karakter '?' pada query dengan menggunakan nama. Contohnya seperti kode di bawah ini

$data = DB::select('select * from users where active = :active', ['active' => 1]);


#MENJALANKAN INSERT STATEMENT

Untuk menjalankan perintah insert, dapat digunakan method insert yang terdapat di dalam facadae DB. Method ini juga mempunyai 2 parameter sama seperti dengan method select sebelumnya. Parameter pertama adalah query dan parameter kedua adalah nilai bindignya. Contohnya adalah seperi berikut ini

DB::insert('insert into users (id, name) values (?, ?)', [1, 'John']);



#MENJALANKAN UPDATE STATEMENT

Untuk menjalankan perintah update dapat digunakan method update. Method update digunakan untuk melakukan update data yang sudah terdapat di dalam database. Caranya adalah bagai berikut

$rows= DB::update('update users set votes = 100 where name = ?', ['John']);

Variabel $rows pada contoh di atas akan berisi jumlah record yang terdampak dari perintah update tersebut.



#MENJALANKAN DELETE STATEMENT

Untuk menjalankan perintah delete dapat digunakan method delete. Sama seperti method update, method ini akan menghasilkan jumlah record yang di delete oleh query yang anda jalankan. Contohnya adalah sebagai berikut :

$rows = DB::delete('delete from users');



#MENJALANKAN GENERAL STATEMENT

Untuk menjalankan query yang tidak menghasilkan nilai kembalian, dapat digunakan method statement. Contoh penggunaan method ini dapat dilihat pada contoh kode berikut ini 

DB::statement('drop table users');



Demikianlah penjelasan saya pada artikel Tutorial Laravel 5.5 - Cara Menjalankan Raw Query Database. Jika anda memiliki pertanyaan pada artikel ini, anda dapat menuliskan pertanyaan tersebut pada kolom komentar di bawah. Terima kasih dan selamat mencoba.
Tutorial Laravel 5.5 - Cara Menjalankan Raw Query Database Tutorial Laravel 5.5 - Cara Menjalankan Raw Query Database Reviewed by Donny Winarto on April 29, 2019 Rating: 5

1 comment:

  1. ingin mendapatkan uang banyak dengan cara cepat ayo segera bergabung dengan kami di f4n5p0k3r
    Promo Fans**poker saat ini :
    - Bonus Freechips 5.000 - 10.000 setiap hari (1 hari dibagikan 1 kali) hanya dengan minimal deposit 50.000 dan minimal deposit 100.000 ke atas
    - Bonus Cashback 0.5% dibagikan Setiap Senin
    - Bonus Referal 20% Seumur Hidup dibagikan Setiap Kamis
    Ayo di tunggu apa lagi Segera bergabung ya, di tunggu lo ^.^

    ReplyDelete

Powered by Blogger.