Buka:
http://localhost/phpmyadmin/
db_mahasiswa di phpMyAdmin.Langkah 1: Konfigurasi Database di File .env
Buka file .env di direktori utama proyek Anda, lalu sesuaikan bagian konfigurasi database (misalnya jika menggunakan XAMPP/Laragon):
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=db_mahasiswa
DB_USERNAME=root
DB_PASSWORD=
Langkah 2: Buat Model dan Migration
Jalankan perintah berikut di terminal Git Bash untuk membuat file Model Mahasiswa sekaligus file Migration-nya:
php artisan make:model Mahasiswa -m
Langkah 3: Edit File Migration
Buka file migration yang baru saja terbuat di folder database/migrations/YYYY_MM_DD_HHMMSS_create_mahasiswas_table.php, lalu tambahkan kolom tabel berikut:
public function up(): void
{
Schema::create('mahasiswas', function (Blueprint $table) {
$table->id();
$table->string('nim')->unique();
$table->string('nama');
$table->string('kelas');
$table->timestamps();
});
}
Setelah itu, jalankan migrasi database di terminal:
php artisan migrate
Langkah 4: Konfigurasi Model Mahasiswa.php
Buka file app/Models/Mahasiswa.php dan tambahkan properti $fillable agar data kolom dapat diisi secara masal (mass assignment):
Berikut adalah langkah-langkah lengkap untuk membuat dan mengonfigurasi file model Mahasiswa.php di Laravel:
Langkah 5: Buat Model Menggunakan Artisan
Buka terminal Git Bash di VS Code, lalu jalankan perintah berikut:
Langkah 6: Kode Lengkap Konfigurasi Mahasiswa.php
Buka file Mahasiswa.php dan sesuaikan kodenya seperti berikut:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Mahasiswa extends Model
{
use HasFactory;
// 1. Menentukan nama tabel di database (Opsional jika sesuai konvensi jamak/plural)
protected $table = 'mahasiswas';
// 2. Menentukan Primary Key tabel (Opsional, default: 'id')
protected $primaryKey = 'id';
// 3. Menentukan kolom yang boleh diisi secara massal (Mass Assignment)
protected $fillable = [
'nim',
'nama',
'kelas',
];
// 4. Pengaturan Timestamps (created_at & updated_at)
public $timestamps = true;
}
Penjelasan Properti Konfigurasi Model
protected $tableSecara bawaan (default), Laravel akan menganggap nama tabel di database menggunakan bentuk jamak dalam bahasa Inggris (misal model
Mahasiswa-> tabelmahasiswas).Jika nama tabel di MySQL Anda berbeda (misalnya
tbl_mahasiswa), Anda wajib mendefinisikannya:PHPprotected $table = 'tbl_mahasiswa';
protected $primaryKeyDefault primary key di Laravel adalah
id. Jika tabel Anda menggunakan nama kolom primary key lain (misalnim), definisikan seperti ini:PHPprotected $primaryKey = 'nim';
protected $fillableProperti ini digunakan untuk keamanan (Mass Assignment Protection). Kolom yang dicantumkan di dalam array inilah yang diizinkan untuk diisi menggunakan perintah
Mahasiswa::create($request->all()).
protected $guarded(Alternatif dari$fillable)Berfungsi sebagai kebalikan dari
$fillable. Kolom yang dimasukkan di sini tidak boleh diisi secara massal. Jika ingin mengizinkan semua kolom diisi tanpa batasan:PHPprotected $guarded = [];
public $timestampsDefault bernilai
true. Jika tabel di MySQL Anda tidak memiliki kolomcreated_atdanupdated_at, ubah menjadifalseagar tidak terjadi error saat melakukan simpan data:PHPpublic $timestamps = false;
https://gemini.google.com/u/2/app/e6255afb79cd7c74?pageId=none






