
Head of Software Department HMTI
Membuat Model dan Migration
Selanjutnya kita akan belajar bagaimana cara membuar Model dan Migration di dalam Laravel
Model merupakan salah satu arsitektur / pola yang digunakan untuk membangun sebuah aplikasi, yaitu MVC atau Model, View, Controller. Model biasanya berisi kode-kode yang berhubungan dengan database. (cmiiw)
Sedangkan Migration merupakan version control dari database, dengan Migration kita bisa membuat schema table dan field dengan lebih mudah dibandingkan harus membuatnya manual di database.
Langkah 1 - Konfigurasi Koneksi Database
Hal pertama yang akan kita lakukan adalah mengatur koneksi dari aplikasi (Laravel) ke dalam database, di Laravel kita sudah di sediakan sebuah file konfigurasi untuk memudahkan developer atau pengembang, nama file tersebut .env.
Jadi, silahlan teman-teman buka project Laravel-nya menggunakan Text Editor, kemudian buka file .env dan cari kode berikut ini.
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
Kemudian silahkan ubah, menjadi seperti berikut ini.
DB_DATABASE=cja_laravel_10
DB_USERNAME=root
DB_PASSWORD=
Pada perubahan kode di atas, kita mengubah DB_DATABASE menggunakan cja_laravel_10 dan untuk DB_PASSWORD silahkan disesuaikan dengan konfigurasi dari MySQL-nya masing masing, dikarenakan kita menggunakan XAMPP, maka dikosongkan saja (default)
Langkah 2 - Membuat Database di MySQL
Karena sudah berhasil melakukan konfigurasi di dalam Laravel, berarti kita lanjutkan membuat database-nya di dalam MySQL
Karena kita menggunakan XAMPP, maka kita menggunakan DBMS (Database Management System) seeprerti PhpMyAdmin untuk mempermudah kita dalam pembuatan database.
Silahkan buka http://localhost/phpmyadmin, kemudian silahkan buat database baru dengan nama cja_laravel_10, kurang lebih seperti berikut ini.


Langkah 3 - Membuat Model dan Migration
Setelah Laravel dan database MySQL terhubung, maka bisa kita lanjutkan membuat Model dan Migration di dalam Laravel.
Silahkan jalankan perintah berikut ini di dalam terminak/CMD dan pastikan sudah berada di dalam project Laravel-nya.
php artisan make:model Post -m
Perintah di atas, digunakan untuk membuat sebuah Model baru dengan nama Post dan jika teman-teman perhatikan, diatas kita menambahkan flag -m yang artinya kita akan membuat file Migration-nya sekaligus.
Jika perintah diatas berhasil dijalankan, maka kita akan mendapatkan 2 file baru, yang berada di dalam folder :
- app/Models/Post.php
- database/migrations/2023_11_09_ 160153_create_posts_table.php
INFORMASI : nama file Migration akan random sesuai dengan tanggal dibuat-nya
Langkah 4 - Menambahkan Field di dalam Migration
Hal apa yang perlu kita lakukan setelah membuat Model dan Migration di Laravel? jawaban-nya adalah menambahkan field atau kolom yang nanti ada di dalam file Migration.
Silahkan buka file migration-nya yang berada di dalam folder database/migrations/2023_11_09 _160153_create_posts_table.php, kemudian pada function up, ubah kode-nya menjadi seperti berikut ini
public function up(): void
{
Schema::create('posts', function (Blueprint $table) {
$table->id();
$table->string('image');
$table->string('title');
$table->text('content');
$table->timestamps();
});
}
Dari perubahan kode di atas, kita menambahkan 3 field baru, yaitu :
FIELD/COLUMN | TYPE DATA |
---|---|
image | string |
title | string |
content | text |
Langkah 5 - Konfigurasi Mass Assignment
Field atau column yang sudah kita tambahkan di dalam migration tidak akan pernah bisa menyimpan data ke database sebelum kita melakukan konfigurasi Mass Assignment di dalam Model.
Mass Assignment sendiri merupakan sebuah properti yang ada di dalam Model dan digunakan untuk mengizinkan field-field melakukan manipulasi data ke dalam database, seperti insert, update, delete dan lain sebagainya.
Silahkan buka file app/Models/Post.php , kemudian ubah semua kode-nya menjadi seperti berikut ini
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
use HasFactory;
/**
* fillable
*
* @var array
*/
protected $fillable = [
'image',
'title',
'content',
];
}
Dari perubahan di atas, kita menambahkan properti baru dengan nama $fillable dan di dalamnya kita berikan value dari field-field yang kita buat sebelumnya di dalam Migration.
Langkah 6 - Menjalankan Migration
Agar field-field yang ada di dalam Migration digenerate ke dalam database, maka kita perlu menjalankan perintah migrate dari Laravel.
Silahkan jalankan perintah ini di dalam terminal/CMD dan pastikan sudah berada di dalam project Laravel-nya
php artisan migrate
Jika perintah di atas berhasil dijalankan, maka kurang lebih hasilnya akan seperti berikut ini.

Dan jika di cek pada PhpMyAdmin, maka table-table akan berhasil digenerate beserta field-field di dalamnya.
