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 :
-
app/Models/Category.php
-
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