Panduan Singkat Mengenal Eloquent ORM di Laravel
Tags: laravel, webdev
Published: 2024-05-14 00:00:00

**Hai, Sobat Risereader!**

Jika kamu baru mengenal Laravel, kamu mungkin sudah mendengar tentang istilah **Eloquent ORM** yang sering disebut.

Namun, apa sebenarnya Eloquent ORM dan mengapa ini begitu penting dalam pengembangan aplikasi web dengan Laravel?

Di artikel kali ini kita akan membahas mengenai Eloquent ORM, mulai dari pengertian dasar hingga penggunaan praktisnya dalam pengembangan aplikasi web.

## Apa itu Eloquent ORM?

Eloquent adalah sebuah ORM (_Object-Relational Mapping_) yang disediakan oleh Laravel. Singkatnya, Eloquent memungkinkan kamu untuk berinteraksi dengan _database_ menggunakan objek PHP tanpa harus menulis _query_ SQL secara langsung.

Dengan menggunakan Eloquent, kamu dapat melakukan operasi CRUD (_Create, Read, Update, Delete_) dengan mudah dan intuitif.

## Mengapa Memilih Eloquent ORM?

Ada beberapa alasan mengapa Eloquent ORM menjadi pilihan yang populer di antara _developer_ Laravel:

- **Sintaks yang Jelas dan Ekspresif**: Eloquent menggunakan sintaks yang mudah dimengerti, sehingga membuat kode lebih mudah dibaca dan dipahami.

- **_Productivity_ yang Tinggi**: Dengan Eloquent, kamu dapat menghemat waktu dalam penulisan kode, karena kamu tidak perlu menulis _query_ SQL yang rumit secara manual.

- **Fitur-fitur Canggih**: Eloquent dilengkapi dengan berbagai fitur canggih seperti relasi Eloquent, _mutators, accessors_, dan banyak lagi, yang membantu dalam pengembangan aplikasi yang kompleks.

## Bekerja dengan Model

Eloquent bekerja dengan konsep model. Model adalah representasi _class_ PHP dari tabel _database_.

Untuk membuat model, _developer_ perlu membuat class yang mewarisi _class_ `Illuminate\Database\Eloquent\Model`.

_Class_ model ini akan mendefinisikan properti yang sesuai dengan kolom dalam tabel _database_. Sebagai contoh, misalkan kita memiliki tabel `users` dengan kolom `id`, `name`, dan `email`.

```php
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
  protected $fillable = ['name', 'email'];
}
```

Dalam contoh ini, _class_ `User` mewarisi _class_ Model dan properti `fillable` mendefinisikan kolom yang dapat diisi secara massal.

## Operasi CRUD dengan Eloquent

Setelah kita memiliki model, kita dapat menggunakan Eloquent untuk melakukan operasi CRUD pada _database_.

- **Menampilkan Data (_Read_)**: Untuk menampilkan data dari _database_, kita dapat menggunakan _method_ `all` pada model. _Method_ ini akan mengembalikan semua _record_ dari tabel yang terkait dengan model.

```php
$users = User::all();
```

- **Menyimpan Data (_Create_)**: Untuk menyimpan data baru ke _database_, kita dapat menggunakan _method_ `create` pada model. _Method_ ini menerima array berisi data yang ingin disimpan.

```php
$user = User::create([
  'name' => 'John Doe',
  'email' => 'johndoe@example.com',
]);
```

- **Update Data**: Untuk _update_ data yang ada, kita dapat menggunakan _method_ `update` pada _instance_ model. _Method_ ini menerima array berisi data yang ingin diupdate.

```php
$user = User::find(1);
$user->update([
  'name' => 'Jane Doe',
]);

```

- **Hapus Data (_Delete_)**: Untuk menghapus data, kita dapat menggunakan _method_ `delete` pada _instance_ model.

```php
$user = User::find(1);
$user->delete();
```

## Kesimpulan

Eloquent ORM adalah salah satu fitur utama yang membuat Laravel menjadi salah satu _framework_ PHP yang paling populer.

Dengan kemudahan penggunaan dan produktivitas yang tinggi, Eloquent memungkinkan _developer_ untuk fokus pada logika bisnis aplikasi mereka daripada terjebak dalam detail-detail teknis _database_.

Semoga panduan ini membantu kamu memahami dasar-dasar Eloquent ORM!