Jika Anda menggunakan Laravel, Anda pasti tidak akan asing dengan fitur Eloquent ORM, yang merupakan komponen utama dari framework Laravel.
Dalam artikel kali ini, kami akan mengupas tuntas apa itu Eloquent ORM secara sederhana dan mudah dimengerti untuk pemula pengguna Laravel.
Apa itu Eloquent ORM?
Salah satu komponen utama pada framework Laravel adalah Eloquent ORM, merupakan komponen yang memungkinkan pengembang berinteraksi dengan database menggunakan bahasa pemrograman PHP tanpa harus menulis query SQL secara langsung. Singkatnya, Eloquent memungkinkan pengembang menggunakan objek dan model PHP untuk mengubah data dalam database.
Mari kita bahas ini secara menyeluruh.
Banyak framework pengembangan perangkat lunak kontemporer menggunakan ide ORM (Object-Relational Mapping). ORM memungkinkan pengembang untuk menghubungkan objek dalam kode mereka dengan baris dalam basis data; dengan kata lain, ORM memungkinkan Anda melihat data dalam aplikasi sebagai objek yang dapat di manajemen daripada tabel dalam basis data yang harus atur dengan query SQL.
Eloquent adalah komponen Laravel yang membantu ORM. Memungkinkan pengembang membuat model PHP yang mewakili tabel dalam database. Setiap model memiliki properti dan metode yang sesuai dengan struktur dan perilaku tabel yang diwakilinya.
Dalam konteks Eloquent, model adalah kelas PHP yang mewakili sebuah tabel dalam database. Model ini mengandung metode untuk melakukan berbagai tugas, seperti menyimpan, mengambil, mengubah, atau menghapus data dari tabel.
Eloquent memungkinkan untuk melakukan operasi CRUD (Create, Read, Update, Delete) dalam database dengan model dan metode yang tersedia. Eloquent memiliki sintaks yang mudah dipahami dan intuitif yang memungkinkan pembuatan entri baru dalam tabel, membaca entri yang sudah ada, memperbarui entri yang ada, atau menghapus entri dari tabel.
Secara keseluruhan, Eloquent ORM dalam Laravel menawarkan cara yang efektif dan ekspresif untuk berinteraksi dengan database dalam aplikasi website. Ini memungkinkan untuk fokus pada logika aplikasi tanpa terlalu memusingkan detail teknis dari query SQL.
Bagaimana Cara Kerja Eloquent ORM?
Eloquent ORM dalam Laravel bekerja dengan cara yang relatif sederhana tetapi sangat kuat. Berikut adalah cara kerjanya secara umum:
Model-Table Mapping
Ketika membuat model dalam Laravel dan menghubungkannya ke sebuah tabel dalam database, Eloquent secara otomatis menganggap nama tabel adalah bentuk jamak dari nama model dalam huruf kecil dan dihubungkan dengan underscore. Dalam kasus ini, model `User` akan terhubung ke tabel `users` secara default. Mengesampingkan properti `$table` dalam model Anda memungkinkan menentukan beberapa tabel.
Eloquent Query Builder
Eloquent dapat membuat dan mengeksekusi query SQL secara dinamis dengan menggunakan “query builder”. Ini menunjukkan bahwa Anda dapat dengan sangat mudah membuat query yang kompleks dengan menggunakan metode chaining, yang memiliki sintaks yang mudah dipahami yang mirip dengan bahasa PHP biasa.
Active Record Implementation
Eloquent menggunakan pola desain Active Record, yang berarti setiap baris dalam tabel basis data memiliki representasi dalam model yang sesuai. Memiliki kemampuan untuk membuat, membaca, memperbarui, dan menghapus objek model, dan Eloquent akan secara otomatis memetakan tindakan tersebut ke operasi SQL yang sesuai.
ORM Functionality
Eloquent memungkinkan Anda melakukan operasi CRUD (Create, Read, Update, Delete) pada data dalam tabel dengan mudah. Misalnya, Anda dapat membuat entri baru dengan membuat instance model baru, mengisi propertinya, dan kemudian menyimpannya ke basis data. Untuk membaca, memperbarui, dan menghapus data juga sama.
Relationships
Kemampuan untuk menangani hubungan antar-model adalah salah satu fitur paling kuat dari Eloquent. Misalnya, Anda dapat mendefinisikan hubungan one-to-one, one-to-many, dan many-to-many di antara model, dan Eloquent akan mengelola pertanyaan yang diperlukan untuk memperoleh dan menyimpan data yang terkait.
Magic Methods and Properties
Eloquent menggunakan banyak metode dan properti “sihir”(magic), untuk membuatnya lebih mudah digunakan. Misalnya, `$fillable` dan `$guarded` digunakan untuk mengatur keamanan mass assignment, sedangkan metode seperti find, all, dan lainnya digunakan untuk mengumpulkan data dengan cepat.
Secara keseluruhan, Eloquent ORM dalam Laravel menghilangkan kesulitan operasi database dengan menawarkan antarmuka yang mudah dipahami dan ekspresif. Ini memungkinkan pengembang untuk berkonsentrasi pada logika aplikasi mereka tanpa terlalu memusingkan diri dengan detail teknis dari kueri SQL atau manipulasi data basis data.
Contoh Sederhana Eloquent ORM
Kami akan memberikan contoh sederhana dari penggunaan Eloquent ORM di sini.
Misalkan basis data kita memiliki tabel bernama “users” yang memiliki kolom-kolom seperti “id”, “nama”, dan “e-mail”. Kita ingin berinteraksi dengan tabel ini dengan Eloquent. Maka langkah-langkah yang perlu dilakukan adalah.
Membuat Model
Pertama, kita perlu membuat model untuk tabel “users“. Ini biasanya ditempatkan dalam direktori app/Models di Laravel, dan kita dapat menggunakan perintah Artisan untuk membuat model tersebut:
php artisan make:model User
Ini akan menghasilkan file User.php di direktori app/Models yang berisi kode dasar model.
Mendefinisikan Model
Buka file User.php yang baru saja dibuat dan atur properti yang sesuai dengan kolom-kolom dalam tabel “users“. Untuk ilustrasi, lakukan hal berikut:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
protected $fillable = ['name', 'email'];
}
Di sini, kami memberi tahu Eloquent bahwa model pengguna ini terhubung ke tabel “users” dan bahwa kolom “nama” dan “e-mail” dapat diisi.
Menggunakan Eloquent untuk Operasi CRUD
Sekarang kita dapat menggunakan model User untuk melakukan berbagai operasi CRUD, sebagai contoh:
<?php
use App\Models\User;
// Membuat entri baru
$user = new User();
$user->name = 'John Doe';
$user->email = 'john@example.com';
$user->save();
// Membaca entri
$user = User::find(1); // Mencari user dengan ID 1
echo $user->name; // Output: John Doe
// Memperbarui entri
$user = User::find(1);
$user->name = 'Jane Doe';
$user->save();
// Menghapus entri
$user = User::find(1);
$user->delete();
Dalam contoh di atas, kita menggunakan Eloquent ORM untuk membuat, membaca, memperbarui, dan menghapus entri dalam tabel “users“. Perhatikan bahwa metode bawaan Eloquent seperti menemukan, menyimpan, dan menghapus memudahkan operasi CRUD tanpa menulis query SQL secara langsung.
Ini adalah contoh sederhana penggunaan Eloquent ORM dalam Laravel untuk membuat, membaca, memperbarui, dan menghapus data dalam tabel database.
Kesimpulan
Pengembang dapat mengelola basis data aplikasi mereka dengan cara yang mudah dipahami dan efektif dengan Eloquent ORM dalam Laravel. Eloquent menawarkan antarmuka yang kuat untuk melakukan operasi CRUD (Create, Read, Update, Delete) tanpa menulis query SQL secara langsung. Ini dilakukan melalui pemetaan objek ke baris dalam tabel database. Dengan Eloquent ORM, pemeliharaan kode menjadi lebih mudah, pengembangan menjadi lebih lancar, dan aplikasi menjadi lebih dapat diandalkan. Ini memungkinkan pengembang untuk fokus pada logika aplikasi mereka, meningkatkan produktivitas, dan mempercepat pengembangan.
