Mengenal Laravel Eloquent: Pengertian, Fungsi, dan Penggunaannya

Hai Sobat BWA!🙌

Sebagai salah satu framework yang banyak digunakan oleh para developer, Laravel banyak menyediakan fitur yang dapat kita gunakan dengan mudah untuk mempermudah pekerjaan kita. Salah satu fitur yang disediakan oleh Laravel adalah Eloquent. Singkatnya, Eloquent dapat digunakan untuk memudahkan pekerjaan kita saat berhubungan dengan database. Nah, pada artikel kali ini, kita akan membahas tentang Eloquent dalam Laravel serta contoh penggunannya.

Simak artikel berikut sampai habis ya!

Apa itu Laravel Eloquent?

2(3).jpg

Eloquent adalah sebuah ORM (Object-Relational-Mapping) yang disediakan oleh Laravel untuk mengakses dan memanipulasi data dalam database menggunakan PHP Objects dan model-model terkait. Salah satu fitur yang disediakan oleh Eloquent ORM adalah terdapat fungsi-fungsi query SQL untuk mengelola data pada database sehingga kita tidak perlu mengetik query SQL secara manual. Selain itu, Eloquent juga memudahkan kita ketika ingin berinteraksi dengan database, yaitu menyediakan Object-Oriented Approach untuk menambah, memperbarui, dan menghapus data, sehingga memudahkan kita dalam mengelola data dalam aplikasi.

Fungsi Laravel Eloquent

  1. Memudahkan Interaksi dengan Database: Laravel Eloquent menyediakan cara yang intuitif dan objek-oriented untuk menambahkan data(create), memperbarui data(edit), dan menghapus data(delete). Hal ini membuat proses development aplikasi kita lebih cepat dan lebih efisien.
  2. Model-View-Controller (MVC) Compatibility: Eloquent berintegrasi secara langsung dengan pola desain MVC yang digunakan oleh Laravel. Model-model Eloquent dapat digunakan untuk represent data dalam aplikasi, memisahkan logika bisnis dari view dan interaksi pengguna (controller).
  3. Hubungan Antar Model: Eloquent memungkinkan definisi hubungan antar model, seperti one-to-one, one-to-many, many-to-one, dan many-to-many. Hal ini memudahkan kita dalam mengambil dan menambahkan data yang terkait antara model-model.
  4. Query Builder: Selain menggunakan model Eloquent, kita juga dapat menggunakan Query Builder untuk menulis query SQL secara langsung menggunakan sintaks yang lebih terstruktur. Query Builder ini menyediakan metode chaining yang kuat untuk membuat query yang kompleks.
  5. Validasi Data: Eloquent menyediakan fitur untuk melakukan validasi data sebelum menyimpannya ke dalam database. Ini membantu memastikan keakuratan dan konsistensi data dalam aplikasi.

Contoh Penggunaan Laravel Eloquent

1. Langkah awal yang harus dilakukan adalah membuat file migrasi dan model. Untuk membuat file migrasi dan model sekaligus, kalian dapat menjalankan perintah berikut:

php artisan make:model Student --migration

2. Setelah itu, jalankan php artisan:migrate untuk melakukan migrasi database

3. Buka file model Student yang tadi kita buat dan tambahkan kode berikut. File ini terletak dalam folder App/Models

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Student extends Model
{
    use HasFactory;

    protected $table = "students";

    protected $fillable = [
        'nama',
        'alamat',
    ];
}

4. Buat file StudentController dengan menjalankan perintah php artisan make:controller StudentController

5. Nah, pada file controller ini, kita akan menambahkan function CRUD menggunakan Laravel Eloquent

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\Student;

class StudentController extends Controller
{
    public function index() //get data
    {
        return Student::all();
    }

    public function store(Request $request) //add data
    {
        $validatedData = $request->validate([
            'nama' => 'required|string|max:255',
            'alamat' => 'required|string',
        ]);

        return Student::create($validatedData);
    }

    public function show($id) //get data berdasarkan id
    {
        return Student::findOrFail($id);
    }

    public function update(Request $request, $id)
    {
        $student = Student::findOrFail($id);
        
        $validatedData = $request->validate([
            'nama' => 'required|string|max:255',
            'alamat' => 'required|string',
        ]);

        $student->update($validatedData);

        return $student;
    }

    public function destroy($id) //delete data
    {
        $student = Student::findOrFail($id);
        $student->delete();

        return response()->json(['message' => 'Student deleted successfully']);
    }
}

6. Setelah membuat function CRUD, kita dapat menambahkan route pada file api.php untuk mencoba apakah function tersebut berjalan dengan benar

Route::resource('student', StudentController::class);

7. Setelah itu, jalankan php artisan serve dan buka aplikasi postman untuk melakukan testing pada api kita

8. Berikut adalah contoh jika function create berjalan dengan benar dan data masuk ke dalam database

Kesimpulan

Lalu, apasih yang membuat Eloquent ORM dapat memudahkan pekerjaan kita sebagai developer? Kita dapat melakukan operasi CRUD (Create, Read, Update, dan Delete) dengan mudah tanpa menulis query SQL secara manual. Selain itu, Eloquent juga menyediakan fitur-fitur penting lainnya seperti validasi data dan hubungan antar model, yang sangat membantu dalam pengembangan aplikasi yang kompleks dan dinamis. Dengan memahami konsep dasar dan memaksimalkan fitur-fitur yang ada, kalian dapat menjadi developer yang lebih produktif dalam pengelolaan data menggunakan Laravel

Semoga artikel ini dapat bermanfaat ya! Dan bagi kalian yang tertarik untuk mempelajari lebih lanjut tentang Laravel Eloquent ORM, kalian bisa mempelajarinya secara gratis melalui BuildWithAngga loh! Jangan lupa kepoin kelas-kelasnya ya! Sampai jumpa di artikel selanjutnya🙌