- Langkah 1 - Koneksi Database
- Langkah 2 - Membuat Model dan Migration Category
- Langkah 3 - Menambahkan Field di dalam Migration
- Langkah 4 - Menambahkan Mass Assignment
- Langkah 5 - Menjalankan Proses Migrate
- Kesimpulan
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:
app/Models/Category.phpdatabase/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
{ setTimeout(() => { showShimmer = false; }, 300); })"
:class="{'opacity-0': !loaded, 'opacity-100': loaded}"
class="lazy w-full h-auto rounded-xl border border-white dark:border-neutral-700/80 transition-opacity duration-500"
loading="lazy"
/>
SAWERIA
Memuat komentar...