Halo teman-teman semuanya, pada artikel kali ini kita akan lanjutkan belajar bagaimana cara membuat Model dan Migration di dalam Laravel.
Model merupakan salah satu arsitektur / pola yang digunakan untuk membangun sebuah aplikasi, yaitu MVC atau Model, View dan Controller. Model biasanya berisi kode-kode yang berhubungan dengan database.
Sedangkan Migration merupakan version control dari database, dengan Migration kita bisa membuat schema table dan field dengan lebih mudah dibandingkan harus membuatnya secara 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 disesiakan sebuah file konfigurasi untuk mempermudah developer atau pengembang, nama file tersebut bernama .env
.
Jadi, silahkan 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=db_laravel_10
DB_USERNAME=root
DB_PASSWORD=
Pada perubahan kode di atas, kita mengubah DB_DATABASE
menggunakan db_laravel_10
dan untuk DB_PASSWORD
silahkan disesuaikan dengan konfigurasi dari MySQL-nya masing-masing, jika 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.
Jika teman-teman menggunakan XAMPP, maka kita bisa memanfaatkan DBMS (database management system) seperti PhpMyAdmin untuk mempermudah kita dalam pembuatan database.
Silahkan teman-teman buka http://localhost/phpmyadmin, kemudian silahkan buat database baru dengan nama db_laravel_10
, kurang lebih seperti berikut ini.
Langkah 3 - Membuat Model dan Migration
Setelah Laravel dan database MySQL terhubung, maka kita bisa lanjutkan belajar membuat Model dan Migration di dalam Laravel.
Silahkan teman-teman jalankan perintah berikut ini di dalam terminal/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, di atas kita menambahkan flag -m
yang artinya kita akan membuat file Migration-nya sekaligus.
Jika perintah di atas berhasil dijalankan, maka kita akan mendapatkan 2 file baru, yang berada di dalam folder :
-
app/Models/Post.php
-
database/migrations/2023_02_14_232119_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 lankukan setelah membuat Model dan Migration di Laravel ? jawaban-nya adalah menambahkan field atau kolom yang nanti ada di dalam table dan kita akan menambahkannya di dalam file Migration di atas.
Silahkan teman-teman buka file migration-nya yang berada di dalam folder database/migrations/2023_02_14_232119_create_posts_table.php
, kemudian pada function up
, ubah kode-nya menjadi seperti berikut ini.
database/migrations/2023_02_14_232119_create_posts_table.php
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 dalam 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 teman-teman buka file app/Models/Post.php
, kemudian ubah semua kode-nya menjadi seperti berikut ini.
app/Models/Post.php
<?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 kode 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 teman-teman jalankan perintah berikut 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 teman-teman cek pada PhpMyAdmin, maka table-table akan berhasil digenerate berserta field-field di dalamnya.
Mungkin sampai disini pembahasan bagaimana cara membuat Model dan Migration di dalam Laravel, jika teman-teman ada kendala silahkan bisa bertanya melalui kolom komentar dibawah, atau juga bisa melalui group Telegram dari SantriKoding.
Pada artikel selanjutnya, kita semua akan belajar bagaimana cara menampilkan data dari database ke dalam Laravel dan untuk tampilannya kita akan menggunakan Bootstrap.
Terima Kaish.