Pengenalan Eloquent ORM


Eloquent adalah Object Relational Mapping (ORM) yang disediakan oleh Laravel. Eloquent memudahkan kita dalam berinteraksi dengan database menggunakan metode berbasis objek daripada menggunakan query SQL secara langsung. Dalam tutorial ini, kita akan membahas pengenalan Eloquent ORM secara detail.

1. Apa itu Eloquent ORM?

Eloquent ORM adalah fitur dari Laravel yang memungkinkan kita untuk bekerja dengan database menggunakan model. Model Eloquent akan mewakili tabel di database, dan atributnya akan mewakili kolom-kolom dalam tabel tersebut. Dengan Eloquent, kita dapat melakukan operasi CRUD (Create, Read, Update, Delete) dengan sederhana dan intuitif.

2. Mengatur Database

Sebelum kita menggunakan Eloquent, pastikan kita telah mengatur koneksi database di file .env. Misalnya:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=nama_database
DB_USERNAME=username
DB_PASSWORD=password

Setelah mengatur koneksi, kita dapat membuat migrasi untuk tabel yang akan digunakan.

3. Membuat Model dan Migrasi

Anda bisa membuat model sekaligus migrasi dengan perintah artisan berikut:

php artisan make:model Product -m

Perintah ini akan membuat model Product di folder app/Models dan file migrasi di folder database/migrations.

4. Definisikan Struktur Tabel

Buka file migrasi yang telah dibuat dan definisikan struktur tabel. Misalnya, untuk tabel produk:

public function up()
{
    Schema::create('products', function (Blueprint $table) {
        $table->id();
        $table->string('name');
        $table->decimal('price', 8, 2);
        $table->timestamps();
    });
}

Setelah mendefinisikan tabel, jalankan perintah berikut untuk menerapkan migrasi:

php artisan migrate

5. Menggunakan Eloquent untuk Operasi CRUD

5.1 Menambahkan Data (Create)

Untuk menambahkan data baru ke tabel products, kita bisa menggunakan metode create():

use App\Models\Product;

Product::create([
    'name' => 'Produk A',
    'price' => 10000,
]);

5.2 Mengambil Data (Read)

Untuk mengambil semua data dari tabel:

$products = Product::all();

Atau mengambil data berdasarkan ID:

$product = Product::find(1);

5.3 Memperbarui Data (Update)

Untuk memperbarui data yang sudah ada:

$product = Product::find(1);
$product->price = 15000;
$product->save();

5.4 Menghapus Data (Delete)

Untuk menghapus data:

$product = Product::find(1);
$product->delete();

Kesimpulan

Eloquent ORM memberikan cara yang simple dan efisien untuk berinteraksi dengan database di Laravel. Dengan Eloquent, kita bisa melakukan berbagai operasi database hanya dengan menggunakan model, tanpa menulis query SQL secara langsung.