Tutorial Laravel 12 #4 : Cara Membuat Model dan Migration

0
101

Dalam perkembangan framework PHP saat ini, Laravel adalah salah satu framework PHP yang perkembangannya sangat cepat dari versi ke versi dan merupakan salah satu framework paling populer yang digunakan untuk membangun aplikasi web modern dengan struktur yang rapi dan diklaim memiliki fitur yang lengkap. Dalam Laravel, konsep Model dan Migration merupakan bagian penting yang tak terpisahkan dari arsitektur MVC (Model-View-Controller) yang mempermudah pengelolaan data serta struktur database. Pada kesempatan tutorial kali ini, kita akan membahas cara bagaimana membuat Model dan Migration di Laravel 12, serta bagaimana keduanya saling terhubung.

  1. Apa Itu Model

Pertama, kita perlu memahami apa itu Model. Model dalam Laravel adalah representasi dari tabel database yang digunakan untuk berinteraksi dengan data. Model memungkinkan kita untuk melakukan operasi CRUD, seperti mengambil data, menyimpan data, memperbarui data, dan menghapus data tanpa harus menulis query SQL secara langsung. Laravel menggunakan Eloquent ORM (Object Relational Mapping) yang membuat interaksi dengan database menjadi lebih intuitif dan berbasis objek.

  1. Apa Itu Migration

Kemudian, kita juga perlu memahami apa itu Migration. Migration adalah fitur Laravel yang digunakan untuk mengelola struktur database. Migration memungkinkan developer untuk membuat, mengubah, dan menghapus tabel database menggunakan kode PHP. Dengan Migration, kita tidak perlu lagi mengedit database secara manual melalui database manager seperti phpMyAdmin atau tools lainnya, karena semua perubahan dapat dilacak dan dijalankan melalui command line. Hal ini sangat berguna dalam tim pengembangan karena menjaga konsistensi struktur database di berbagai environment.

Untuk memulai menggunakan Model dan Migration pastikan Anda sudah menginstall Laravel 12 di sistem Anda. Setelah itu, buka terminal dan arahkan ke direktori project Laravel Anda. Untuk membuat Model sekaligus Migration, Laravel menyediakan perintah artisan yang sangat praktis. Perintah yang digunakan adalah:

php artisan make:model NamaModel -m

Sebagai contoh, jika kita ingin membuat Model bernama Pegawai, maka kita dapat menjalankan:

php artisan make:model Pegawai -m

Laravel 12 make Model artisan

Perintah tersebut akan secara otomatis membuat dua file: satu file Model di direktori app/Models/Pegawai.php, dan satu file Migration di direktori database/migrations/xxxx_xx_xx_create_pegawais_table.php. Nama file migration biasanya disertai timestamp agar urutannya jelas saat dijalankan.

Setelah file berhasil dibuat, langkah berikutnya adalah mengedit file Migration. File ini berisi dua method utama, yaitu up() dan down(). Method up() digunakan untuk mendefinisikan struktur tabel yang akan dibuat, sedangkan down() digunakan untuk menghapus tabel tersebut jika migration di-rollback.

Contoh isi method up() untuk tabel posts:

public function up(): void
    {
        Schema::create('pegawais', function (Blueprint $table) {
            $table->id();
            $table->string('nama');
            $table->string('email',250)->unique();
            $table->string('pekerjaan');
            $table->string('alamat');
            $table->timestamps();
        });
    }

Pada kode di atas, kita membuat tabel pegawais dengan beberapa kolom, yaitu id, nama, email, pekerjaan, alamat, serta created_at dan updated_at yang otomatis dibuat oleh method timestamps().

Setelah Migration selesai diedit, Langkah selanjutnya adalah kita perlu menjalankannya agar tabel benar-benar dibuat di database. Gunakan dan jalankan perintah berikut pada command line:

php artisan migrate

Perintah ini akan mengeksekusi semua file migration yang belum dijalankan. Jika berhasil, maka tabel pegawais akan muncul di database Anda.

Hasil Migration Table Pegawai

Selanjutnya, kita akan membahas Model. File Model yang telah dibuat sebelumnya biasanya sudah memiliki struktur dasar seperti berikut:

namespace App\Models;
use Illuminate\Database\Eloquent\Model;

class Pegawai extends Model
{
    //
}

Model ini secara otomatis terhubung dengan tabel pegawais karena Laravel menggunakan konvensi penamaan plural. Namun, jika nama tabel berbeda, kita bisa menentukannya secara manual dengan menambahkan properti $table.

Selain itu, kita juga dapat menentukan kolom mana saja yang boleh diisi menggunakan fitur mass assignment. Hal ini dilakukan dengan menambahkan properti $fillable seperti berikut:

protected $fillable = [‘nama’, ’email’,’pekerjaan’,’alamat’];

Dengan adanya $fillable, kita dapat dengan mudah menyimpan data menggunakan method create() tanpa khawatir terhadap celah keamanan.

Sebagai contoh, untuk menyimpan data ke tabel pegawais, kita dapat menggunakan kode berikut di controller:

Pegawai::create([
    'nama' => 'Jogjatech',
    'email' => 'info.jogjatech@gmail.com',
    'pekerjaan' => 'Web Programmer Web Developer',
    'alamat' => 'Jl abcd',
]);

Selain create(), Eloquent juga menyediakan berbagai method lain seperti all(), find(), where(), dan banyak lagi untuk mempermudah manipulasi data.

Hubungan antara Model dan Migration sangat erat. Migration bertugas membuat struktur tabel, sedangkan Model digunakan untuk berinteraksi dengan tabel tersebut. Dengan kombinasi keduanya, Laravel memberikan cara yang efisien dan terorganisir dalam mengelola database.

Kesimpulannya, memahami cara membuat Model dan Migration di Laravel 12 adalah langkah fundamental dalam pengembangan aplikasi berbasis Laravel. Model memberikan cara yang elegan untuk berinteraksi dengan data, sementara Migration memastikan struktur database tetap terorganisir dan mudah dikelola. Dengan memanfaatkan kedua fitur ini, developer dapat bekerja lebih cepat, efisien, dan terstruktur. Demikian tutorial singkat kali ini kami sajikan, semoga bermanfaat.