LARAVEL 7 | CRUD (Retrieving Data)menggunakan framework laravel

Gedetikapermana
6 min readSep 2, 2020

--

Sebelum anda siap untuk membuat CRUD pada framework Laravel pastikan kalian sudah menyiapkan projek laravelnya terlebih dahulu atau sudah mengikuti Langkah Langkah sebelum tahap ini. Singkat sedikit penjelasan CRUD dalam Laravel dapat dilakukan dengan dua cara, yang pertama dapat dilakukan dengan menggunakan query builder dan yang kedua dapat menggunakan Eloquent ORM (Object Relational Mapping). Di tahap ini saya akan menjelaskan penggunaan kedua cara tersebut 😊hehe. Langsung saja cara pertama kita menggunakan query builder milik Laravel mirip seperti kita menggunakan query builder pada framework codeigniter

cara CRUD menggunakan query builder tidak masalah digunakan, tetapi alangkah baiknya menggunakan cara yang disarankan dalam framework laravel dengan menggunakan eloquent ORM.

Langsung saja jika menggunakan query builder kita dapat menggunakannya langsung didalam controller. Jadi buka controller anda, dalam hal ini saya membuka controller saya dengan nama BarangController.php

  1. Membuat file Migrasi

Pertama tama kita buat migration dulu untuk menambahkan tabel kedalam database kita, kita dapat membuat migration dengan command

 php artisan make:migration nama_file_migration

Seperti contoh berikut :

php artisan make:migration create_stuff_table

Dan kita dapat melakukan pengecekan pada direktori database bahwa migration yang kita buat telah ada

Coba kita intip kedalam file migration yang baru kita buat, akan tampil seperti gambar berikut :

file migrasi create_stuff_table

Laravel telah menyiapkan method yang akan digunakan untuk migrasi table baru pada method bernapa up(). Method ini akan kita ubah sesuai dengan keinginan kita, mulanya method ini telah berisikan fungsi untuk menambahkan id dan timestamps, saya akan menambahkan kolom nama barang, jumlah barang dan mengganti id menjadi kode barang.

Pertama id saya rubah Namanya menjadi kode_barang dengan tambahan command bigIncrement yang berarti nilai dari kode_barang akan otomatis bertambah dan menjadi primary key

Untuk kolom nama_barang dengan tipe data varchar pada laravel penamaan varchar adalah string

Untuk kolom jumlah_barang dengan tipe data integer pada Laravel penamaannya adalah integer

Disini anda bisa mencari data penjelasan migration lebih lanjut mengenai perintah tipe data atau lainnya

kolom didalam tabel stuff

Berikut databse saya yang belum berisi table dengan nama stuff

Jika sudah kita bisa menjalan command php artisan migrate. Dan jika berhasil maka terminal akan menampilkan seperti ini :

Coba kita cek database cashier kita apa sudah bertambah table dengan nama stuff atau belum

Dan jeng jeng, table stuff berikut dengan atributnya sudah berhasil ditambahkan ke database, kita isi 2 data dulu didalam databasenya.

Sip saya sudah menambahkan dua data kedalam table stuff, ada the gelas dan the kotak hehe

2. CRUD Dasar Menggunakan Query Builder

Waktunya kita ambil data dalam database stuff ini ke controller yang kita sudah buat

Buka controller yang sudah kita buat, kalau saya BarangController, kemudian tepat sebelum class name kita tambahkan kode berikut :

use Illuminate\Support\Facades\DB;

Maksudnya agar controller kita bisa mengakses database

Setelah itu kita tambahkan query builder pada method index seperti berikut :

$nama_variabel = DB::table(‘nama tabel’)->get();

Mirip seperti codeigniter ya, jika di codeigniter kan kita membuatnya dengan
$nama_variabel = $this->load-> blab bla

Jika sudah coba kita print dengan code return dd($nama_variabel). Bisa juga menggunakan var_dump($nama_variabel) tetapi kalau var_dump tidak rapi seperti milik Laravel yaitu dd(dump die). Seperti gambar berikut :

Dan hasilnya kita mendapatkan kedua data tersebut horeeee

Sekarang kita coba untuk memasukkan data tersebut ke dalam table yang ada pada view index.blade.php yang kita punya sebelumnya dengan cara seperti berikut :

Jika sudah kita pindah ke halaman index.blade.php

Sesampai kita di halaman index.blade.php dibagian tag <tbody> sebelum tag <tr> kita buat looping dengan foreach seperti berikut

@foreach($nama_variabel_sesuaikan_dengan_variabel_dari_controller as $nama_variabel_bebas)@endforeach

Contoh seperti berikut :

@foreach($semua_barang as $barang)untuk mencetak isi dari variable barang gunakan {{$barang->nama_kolom_pada_database}}@endforeach

Dan untuk nomor saya gunakan php biasa untuk menampilkan banyak perulangan, dengan hasil akhir seperti berikut :

Dan hasilnya pada web seperti berikut :

Yee berhasil, terdapat dua data, yaitu teh gelas dan teh kotak berhasil muncul berikut dengan jumlah barangnya. Sampai disini dulu untuk penggunakan QUERY BUILDER, CRUD selanjutnya saya akan menggunakan hal yang sangat disarankan digunakan di Laravel yaitu penggunakan eloquent ORM

3. CRUD Dasar Menggunakan Qloquent ORM

Hal yang perlu dipersiapkan jika menggunakan eloquent ORM dengan membuat model terlebih dahulu, untuk membuat model dapat menjalankan perintah :

php artisan make:model nama_model

Atau jika anda ingin membuat model sekaligus melakukan migrasi anda bisa menggunakan kode berikut :

php artisan make:mode nama_model -m

Dalam hal ini saya membuat model dengan nama BarangModel.php

Jika sudah sukses coba and acari model yang baru dibuat didalam folder app -> nama_model.php

Jika sudah kita bisa membukanya, nah sebenarnya penamaan model dan database di Laravel ini berkesinambungan atau jamak, contohnya kita buat model dengan barang, maka table yang seharusnya dibuat adalah table dengan barangs.

Tapi dalam hal ini saya ingin mencontohkan jika kita memiliki nama table yang berbeda dari nama model kita, kolom id yang saya buat pun bukan default id, tetapi kode_barang. Nah disini kita akan memberi tahu pada Laravel menggunakan pemetaan model yang baru kita buat, ketiikan kode seperti berikut :

Jika sudah kita dapat berpindah menuju controller kita untuk menampilkan data menggunakan eloquent ORM ini, gasss ke BarangController.php

Sebelum nama class kita tambahkan kode :

use App\namamodel

Kode diatas berarti gunakan file dalam folder App bernama ‘nama model’. Kemudian di method index kita tambahkan kode seperti berikut :

$nama_variabel = nama_model::all();Return view(‘nama_folder.nama_view’, [‘nilai variable’ => $nama_variabel]);

Contoh keseluruhan :

Lalu kita refresh halaman web kita dannnn..

Hurrayyyy, penggunaan eloquent ORM Laravel berhasil. Sampai disini dulu untuk mengambil data dari database, berikut akan dilanjutkan dengan CRUD data menggunakan eloquent ORM, until next time…stay safe 😊

--

--

No responses yet