Logo
© 2019 - 2026 SantriKoding.

On This Page

Mobile navigation

Tutorial Laravel Filament 5 #2 : Membuat Model dan Migration Category

like emoticon 0
love emoticon 0
insightful emoticon 0
fire emoticon 0
cheer emoticon 0
celebrate emoticon 0
Tutorial Laravel Filament 5 #2 : Membuat Model dan Migration Category

Halo teman-teman semuanya, pada artikel sebelumnya kita telah berhasil belajar bagaimana cara membuat project baru dengan Laravel. Pada kesempatan kali ini, kita semua akan belajar bagaimana cara membuat Model dan Migration untuk data categories.

Langkah 1 - Koneksi Database

Secara default, sejak Laravel 11 dirilis, koneksi database yang digunakan adalah SQLite. Namun pada tutorial ini, kita akan mengubahnya menggunakan MySQL.

Silahkan teman-teman buka project-nya menggunakan text editor, kemudian cari file .env dan temukan konfigurasi berikut ini.

.env

DB_CONNECTION=sqlite
# DB_HOST=127.0.0.1
# DB_PORT=3306
# DB_DATABASE=laravel
# DB_USERNAME=root
# DB_PASSWORD=

Kemudian ubah menjadi seperti berikut ini.

.env

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=db_laravel_filament5
DB_USERNAME=root
DB_PASSWORD=

Di atas, pertama kita mengubah konfigurasi DB_CONNECTION dari sqlite menjadi mysql.

Kemudian kita menghapus semua tanda # agar variable tersebut aktif. Untuk DB_DATABASE, kita atur menggunakan nama db_laravel_filament5.

Untuk DB_USERNAME, secara default adalah root, dan untuk DB_PASSWORD, jika teman-teman menggunakan XAMPP, maka dapat dikosongkan.

Langkah 2 - Membuat Model dan Migration Category

Selanjutnya, kita akan membuat Model dan Migration untuk data Category. Silahkan teman-teman jalankan perintah berikut ini di dalam terminal/CMD dan pastikan sudah berada di dalam project Laravel-nya.

php artisan make:model Category -m

Jika perintah di atas berhasil dijalankan, maka kita akan mendapatkan 2 file baru yang berada di dalam folder berikut ini:

  1. app/Models/Category.php
  2. database/migrations/xxxx_xx_xx_xxxxxx_create_categories_table.php

INFORMASI : Nama file Migration akan random sesuai dengan tanggal dan waktu saat file tersebut dibuat.

Langkah 3 - Menambahkan Field di dalam Migration

Setelah file Migration berhasil dibuat, selanjutnya kita akan menambahkan field atau kolom di dalamnya.

Silahkan teman-teman buka file migration create_categories_table.php, kemudian pada function up ubah kode-nya menjadi seperti berikut ini.

database/migrations/xxxx_xx_xx_xxxxxx_create_categories_table.php

public function up(): void
{
    Schema::create('categories', function (Blueprint $table) {
        $table->id();
        $table->string('name');
        $table->text('description');
        $table->timestamps();
    });
}

Dari kode di atas, kita menambahkan 2 field, yaitu:

FIELD / KOLOM TIPE DATA OPTION
name string -
description text -

Langkah 4 - Menambahkan Mass Assignment

Mass Assignment merupakan sebuah properti array yang berisi field-field yang terdapat di dalam table atau migration. Mass Assignment digunakan agar field tersebut dapat dimanipulasi dan disimpan ke dalam database.

Silahkan teman-teman buka file app/Models/Category.php, kemudian ubah kode-nya menjadi seperti berikut ini.

app/Models/Category.php

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Category extends Model
{
    /**
     * fillable
     *
     * @var array
     */
    protected $fillable = [
        'name',
        'description',
    ];
}

Di atas, kita menambahkan properti $fillable berupa array yang berisi field yang sudah kita buat sebelumnya di dalam file migration.

Langkah 5 - Menjalankan Proses Migrate

Setelah semuanya siap, sekarang kita akan menjalankan proses migrate untuk membuat database dan table beserta field-field-nya.

Silahkan teman-teman jalankan perintah berikut ini di dalam terminal/CMD dan pastikan masih berada di dalam project Laravel.

php artisan migrate

Jika muncul pertanyaan seperti berikut ini, artinya database dengan nama db_laravel_filament5 belum tersedia di MySQL dan Laravel menanyakan apakah ingin membuatnya secara otomatis.

Silahkan pilih Yes dan tekan ENTER.

WARN  The database 'db_laravel_filament5' does not exist on the 'mysql' connection.  

┌ Would you like to create it? ────────────────────────────────┐
│ ● Yes / ○ No                                                 │
└──────────────────────────────────────────────────────────────┘ 

Jika berhasil, maka table categories akan otomatis ter-generate beserta field-field-nya. Teman-teman bisa mengeceknya melalui PhpMyAdmin di http://localhost/phpmyadmin.

Kesimpulan

Sampai pada tahap ini, kita telah berhasil mempelajari bagaimana cara membuat Model dan Migration di dalam Laravel, menambahkan field pada table categories, mengatur mass assignment, serta menjalankan proses migrate untuk menghasilkan database dan table secara otomatis.

Pada artikel selanjutnya, kita semua akan belajar bagaimana cara melakukan instalasi dan konfigurasi Laravel Filament 5.

Terima Kasih

Artikel ini dibaca sebanyak 3.024 kali

Fika Ridaul Maulayya
Full-Stack Developer, Content Creator and CEO & Founder SantriKoding.com

Suka dengan tulisan di SantriKoding? Kamu bisa memberikan dukungan dengan berdonasi atau bagikan konten ini di sosial media. Terima kasih atas dukungan Anda!

KEBIJAKAN KOMENTAR

Saat memberikan komentar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami

Memuat komentar...