CRUD Sederhana Laravel - MySQL dengan Eloquent ORM

Eloquent Laravel - Object Relational Mapper
Apa sih ini ?
Tentunya di artikel sebelum-sebelumnya telah dipelajari bagaimana menyambungkan projek Laravel ke suatu basis data, contoh kasus menyambung dengan MySQL.
Seperti dalam artikel :
Dalam artikel tersebut mempelajari step by step melakukan operasi dasar Create, Read, Update dan Delete dengan Laravel dan basis data MySQL. Perlu dipahami dengan jelas bahwa cara yang digunakan dalam artikel diatas dinamakan dengan Menggunakan Metode Query Builder Laravel.
Baca Lebih Lanjut : Mengenal Query Builder Laravel
Sekarang mari pelajari pengelolaan data Laravel - MySQL dengan cara yang kedua, yaitu Eloquent ORM. Mengutip dari situs web resminya dijelaskan bahwa Eloquent Object Relational Mapper adalah :
Laravel includes Eloquent, an object-relational mapper (ORM) that makes it enjoyable to interact with your database. When using Eloquent, each database table has a corresponding "Model" that is used to interact with that table. In addition to retrieving records from the database table, Eloquent models allow you to insert, update, and delete records from the table as well.
Pada intinya penggunaan cara ini menjadikan pengelolaan data dengan database menjadi lebih mudah bahkan bisa dikatakan baris kodenya menjadi lebih ringkas dalam melakukan operasi insert, update dan delete.

Langsung saja mari kita praktikkan satu bagian untuk menampilkan data dari MySQL dengan cara  ini. Buat projek tentunya, namai dengan upload-gambar :
composer create-project laravel/laravel upload-gambar
Setelah projek selesai dibuat oleh composer, kita buat basis datanya terlebih dahulu. Oiya, MENGINGATKAN dalam pembuatan projek di Laravel pastikan komputer terhubung dengan koneksi internet yang stabil.
Buat basis data dengan nama unggahgambar dengan tabel :

Desain Tabel Yang Digunakan 

Simpan tabel yang dibuat dengan nama tb_biodata, sesuai dengan gambar yang tampak. Atau bisa kalian namai sesuai keinginan kalian masing-masing. Tapi untuk memudahkan, samakn dulu untuk penamaan agar nantinya tidak bingung.

Kemudian kembali ke dalam projek, buka file .env dan buat baris kode tidak terkomentar untuk menyambungkan ke MySQL :

Buka file welcome.blade.php, hapus semua kodenya ganti dengan teks sederhana terlebih dulu :

Coba kita jalankan php artisan serve, cek hasilnya :
Hehe...
Cuma maen-maen aja sih 😎

Kembali lagi ke VS Code ( projeknya ), sekarang buat sebuah model dengan perintah :
php artisan make:model Biodata


Akan muncul file baru di dalam folder app/Models dengan nama Biodata.php

Pastikan muncul keterangan INFO  Migration [C:\xampp\htdocs\... created successfully ketika membuat model
Buka file Biodata.php, tambah satu baris kode protected $table 

Perintah tersebut merupakan sintaks sederhana yang menyampaikan pada Laravel bahwa model Biodata.php meng-handle tabel tb_biodata.

Jangan lupa kemudian untuk melakukan migration :

Selanjutnya buat controller-nya. Controller ini dinamai dengan BiodataController :


Buka BiodataController.php
Tambahkan sebuah method dengan nama index() dengan berisi baris kode :

Ket :
Dalam fungsi index() ada variabel $biodata yang menampung model ( class ) Biodata. Model ini pastikan sudah dibuat dan sudah ada, cek kembali tulisan diatas! 

Baris kode :
Biodata::all();
Merupakan perintah yang memiliki kesamaan dengan DB::table('nama_tabel')->get(); jika menggunakan Query Builder. Gimana ? 

Baca Kembali : DB::table()->get();

Kemudian dengan perintah return, memanggil view biodata.blade.php disertai dengan mengirimkan parameter data biodata yang di dalamnya sudah tersimpan list data dari $biodata = Biodata::all().

Ingat! Belum ada file biodata.blade.php
Maka dari itu buat dulu file tersebut di dalam folder views :

Buka file biodata.blade.php dan tambahkan baris kode sederhana berikut :

Ket :
Dengan @foreach akan mengulang variabel $biodata yang merupakan parameter dari pengiriman dari perintah :
    public function index() {
        $biodata = Biodata::all();

        return view('biodata', ['biodata' => $biodata]);
    }
Yang tercetak tebal merupakan parameter yang dikirim oleh Controller

Dibuat alias dengan nama variable $bio.
Kemudian dicetak dengan {{ $bio->nama_kolom }}
nama_kolom di sesuaikan dengan kolom dalam tb_biodata sebelumnya. Harus sama!

Dalam contoh, penulis menampilkan nama :
{{ $bio->nama }} <br>

Perintah <br> digunakan membuat baris baru / Enter.

Kemudian terakhir buka tempat route Laravel, web.php :

Tambahkan route baru /biodata

Ket :
Route /biodata ini akan menggunakan BiodataController dan menjalankan method index() saat dipanggil dengan web browser :


Nah, method index() inilah yang nantinya menjalankan perintah untuk mengambil data dengan perintah Biodata::all() dan datanya diterukan ke views biodata.blade.php;

Nah, sudah ready semua...
Sekarang kita coba jalankan dengan perintah php artisan serve 





Yayyyy, data dari MySQL berhasil di munculkan dengan metode Eloquent ORM Laravel 😋
Agar tampilan bisa lebih terlihat lebih rapi bisa menggunakan elemen atau tag <table>, tutorialnya Baca Disini : Merapikan Data dengan Tabel
Catatan : 
Sebelum memanggil route /biodata pastikan dalam tb_biodata telah terisi data terlebih dahulu. Jika tidak ada data maka akan tampil blank ( kosong )

Cukup sekian tutorial kali ini, semoga bermanfaat!!! Mangaaatz ...

Materi selanjutnya Menyimpan Data ( Insert ) Laravel - MySQL dengan Eloquent

Ahmad Istakim

Alumni dari jurusan Manajemen Informatika di Universitas Sains Al-Qur'an (UNSIQ ) Wonosobo. Tertarik dalam bidang pendidikan, teknologi komputasi dan disiplin ilmu keislaman ( Tafsir, Hadits, Arudl, Nahwu-Sharaf, Fiqh maupun Aqidah ) - https://s.id/blog-islamQ. Pernah juga mengenyam pendidikan di beberapa pesantren yang ada di Kab. Wonosobo dan Kab. Purworejo

Posting Komentar

Lebih baru Lebih lama