Tutorial Laravel Splade #3 - Membuat Model dan Migration


Rafi Taufiqurrahman
Saya tidak pernah bermimpi tentang kesuksesan, saya bekerja untuk itu
Tutorial Laravel Splade #3 - Membuat Model dan Migration

Setelah berhasil melakukan installasi splade pada project laravel kita, kurang lengkap rasanya jika kita belum membuat sebuah fitur CRUD sederhana, maka dari itu sebelum membuat fitur tersebut kita akan membuat Model dan Migration terlebih dahulu.

Langkah 1 - Konfigurasi Koneksi Database

Hal pertama yang harus dilakukan adalah mengatur koneksi dari aplikasi laravel kita ke dalam database. Caranya sangat mudah sekali karena laravel sendiri sudah menyediakan sebuah file konfigurasi yang bisa kita gunakan, silahkan teman-teman buka file yang bernama .env pada root project aplikasi laravel kita, pastikan teman-teman telah membuka Text Editor yang teman-teman pakai untuk membuka file project kita.

Selanjutnya silahkan teman-teman cari kode berikut pada file .env

DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

Kemudian silahkan ubah, menjadi berikut ini :

DB_DATABASE=db_splade_tutorial
DB_USERNAME=root
DB_PASSWORD=

Pada perubahan kode diatas, kita mengubah DB_DATABSE menjadi db_splade_tutorial dan untuk DB_PASSWORD silahkan disesuaikan dengan konfigurasi dari MYSQL-nya masing-masing.

Langkah 2 - Membuat Model dan Migration

Setelah berhasil melakukan konfigurasi database kita lanjutkan dengan membuat sebuah Model dan Migration didalam project laravel kita.

Silahkan teman-teman jalankan perintah berikut ini pada terminal/command prompt(CMD) dan pastikan sudah berada pada project laravel-nya.

php artisan make:model Post -m

Perintah diatas, digunakan untuk membuat sebuah Model baru dengan nama Post dan jika teman-teman perhatikan, diatas kita menambahkan sebuah 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 pada folder :

  • app/Models/Post.php
  • database/migrations/2023_04_13_144543_create_posts_table.php

Selanjutnya, kita akan mencoba menambahkan beberapa attribute di dalam file migration posts. Silahkan buka file database/migrations/2023_04_13_144543_create_posts_table.php, kemudian pada function up ubahlah menjadi seperti berikut ini :

 public function up(): void
  {
      Schema::create('posts', function (Blueprint $table) {
          $table->id();
          $table->string('title');
          $table->string('image');
          $table->string('content');
          $table->timestamps();
      });
  }

Dari perubahan kode di atas, kita menambahkan 3 attribute baru yaitu :

ATTRIBUTE TYPE DATA
title string
image string
content string

Langkah 3 - Konfigurasi Mass Assignment

Field atau column yang sudah kita tambahkan di dalam migration tidak akan bisa menyimpan data kedalam 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 kedalam 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 :

<?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 = ['title', 'image', 'content'];
}

Dari perubahan kode diatas, kita menambahkan properti baru dengan nama $fillable dan didalamnya kita berikan value dari field atau column yang kita buat sebelumnya di dalam Migration.

Langkah 4 - Menjalankan Migration

Agar field atau column didalam migration kita digenerate kedalam database, maka kita perlu menjalankan perintah artisan migrate dari laravel.

Silahkan teman - teman jalankan perintah berikut ini di dalam terminal/command prompt(CMD) dan pastikan sudah berada di dalam project Laravel-nya.

php artisan migrate

Jika pertinah diatas berhasil di jalankan, maka kurang lebih seperti ini hasilnya :

model & migration

Membangun Aplikasi Inventory Dengan Laravel & Tailwind CSS: https://santrikoding.com/ebook/membangun-aplikasi-inventory-dengan-laravel-tailwind-css?ref=8659VS4962

Membangun Website Online Course Dengan Laravel, Alpine.js dan Tailwind CSS: https://santrikoding.com/ebook/membangun-website-online-course-dengan-laravel-alpinejs-dan-tailwind-css?ref=8659VS4962


Rafi Taufiqurrahman
Saya tidak pernah bermimpi tentang kesuksesan, saya bekerja untuk itu

Suka dengan tulisan di SantriKoding? Kamu bisa memberikan dukungan dengan berdonasi atau bagikan konten ini di sosial media. Terima kasih atas dukungan Anda!

KEBIJAKAN KOMENTAR

Saat memberikan komenatar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami


ARTIKEL TERKAIT