Tutorial Laravel Filament #2 : Membuat Model dan Migration Category


Tutorial Laravel Filament #2 : Membuat Model dan Migration Category

Halo teman-teman semuanya, pada artikel sebelumnya kita telah berhasil belajar bagaimana cara membuat project baru dengan Laravel dan 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 untuk koneksi database akan menggunakan SQLite, tapi disini kita akan mengubahnya menggunakan MySQL.

Silahkan teman-teman buka project-nya menggunakan text editor, kemudian cari file .env dan cari kode 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 kode-nya menjadi seperti berikut ini.

.env

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

Di atas, pertama kita ubah konfigurasi DB_CONNECTION yang semula menggunakan sqlite menjadi mysql.

Kemudian kita hapus semua tanda # pada konfigurasi key, tujuaanya agar variable-nya diaktifkan. Kemudian untuk DB_DATABASE kita atur menggunakan db_laravel_filament.

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

Langkah 2 - Membuat Model dan Migration 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 :

  1. app/Models/Category.php
  2. database/migrations/2024_09_21_005536_create_categories_table.php

INFORMASI : nama file Migration akan random sesuai dengan tanggal dibuat-nya.

Langkah 3 - Menambahkan Field di dalam Migraion

Setelah file Migration berhasil dibuat, maka kita akan menambahkan field/kolom di dalamnya. Silahkan teman-teman buka file migration-nya, kemudian pada function up ubah kode-nya menjadi seperti berikut ini.

database/migrations/2024_09_21_005536_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 perubahan 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 ada di dalam table / migration. Mass Assignment digunakan agar field yang sudah kita tambahkan di dalam migration dapat melakukan manipulasi 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\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

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

Di atas, kita menambahkan properti $fillable dengan jenis array dan di dalamnya terdapat field/kolom yang sudah kita buat sebelumnya di dalam file migration.

Langkah 5 - Menjalankan Proses Migrate

Sekarang kita akan belajar bagaimana menjalankan proses migrate di dalam Laravel, proses ini akan men-generate database dan table beserta field/kolom di dalamnya.

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

php artisan migrate

Jika keluar pertanyaan seperti berikut ini. Itu artinya kita belum memiliki database di dalam MySQL dengan nama db_laravel_filament dan apakah kita ingin membuatnya ? Silahkan pilih Yes dan ENTER.

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

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

Dan jika teman-teman cek pada PhpMyAdmin di http://localhost/phpmyadmin, maka table-table akan berhasil digenerate berserta field-field di dalamnya.

Kesimpulan

Sampai disini pembahasan kita terkait bagaimana cara membuat Model dan Migration di dalam Laravel dan kita juga belajar menambahkan field dan mass assignment beserta menjalankan proses migrate.

Pada artikel berikutnya, kita semua akan belajar bagaimana cara install dan konfigurasi Laravel Filament.

Terima Kasih


Fika Ridaul Maulayya
Full-Stack Developer, Content Creator and CO-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 komenatar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami