Membuat project baru Laravel di Windows

Tutorial membuat project baru Laravel di Windows

Di dokumentasi resmi Laravel ada tutorialnya, disini ada tambahan beberapa step atau pengaturan yang biasa digunakan, jadi agar tidak lupa ditulis semua step nya disini.

Instalasi

Jalankan perintah berikut ini di cmd

composer create-project laravel/laravel nama-project

Perintah tersebut akan meng-install Laravel di folder nama-project

Ubah beberapa pengaturan di file .env

APP_URL=http://namaproject.test

DB_DATABASE=namadatabase
DB_USERNAME=root
DB_PASSWORD=

APP_URL di set jika menggunakan virtual host, jika tidak biarkan default nya localhost

Kalau perlu set timezone bisa diubah di config/app.php

'timezone' => 'Asia/Jakarta'

Menjalankan aplikasi

php artisan serve

Atau jika menggunakan virtual host bisa langsung akses di browser dengan alamat yang di set di APP_URL

Migration

Di folder app/database/migrations ada beberapa file migration, hapus yang sekiranya tidak diperlukan, dan sisakan file migration untuk create_users_table

Jangan lupa buat dulu database nya di phpmyadmin sebelum menggunakan migration

Untuk menjalankan migration

php artisan migrate
php artisan migrate:fresh
php artisan migrate:rollback
php artisan migrate:refresh

fresh untuk menghapus semua tabel di database dan melakukan migrate ulang

rollback untuk membatalkan migration terakhir

refresh untuk rollback semua migration dan melakukan migrate ulang

Saat menjalankan migration, cek di database apakah ada table personal_access_token atau tidak, jika ada dan tidak mau menggunakan atau mau menghapus nya, tambahkan kode berikut ini di file app/Providers/AppServiceProvider.php

public function register(): void
{
    Sanctum::ignoreMigrations();
}

Lakukan migrate ulang dengan fresh maka table personal_access_token tidak akan ada lagi

Membuat file migration baru

php artisan make:migration create_produk_table

Nama file bisa bebas, tapi kalau di dalam nama file ada kata kunci create dan nama tabel nya, Laravel akan otomatis membuat migration untuk create table

Contoh schema untuk tabel dengan foreign key

Schema::create('mentor', function (Blueprint $table) {
    $table->id();
    $table->string('nama', 50);
    $table->string('tempat_lahir', 50);
    $table->date('tanggal_lahir');
    $table->string('alamat', 100);
    $table->string('no_hp', 15);
    $table->foreignId('user_id')->constrained('users')->onDelete('cascade');
    $table->timestamps();
});

Contoh model user

class User extends Authenticatable
{
    protected $table = 'users';
    protected $primaryKey = 'id';
    protected $guarded = ['id'];
}

Contoh seeder untuk bikin user

public function run(): void
{
    User::create([
        'nama' => 'Administrator',
        'username' => 'admin',
        'password' => password_hash('admin', PASSWORD_DEFAULT),
    ]);
}

Menjalankan seeder

php artisan db:seed

Untuk persiapan project baru sudah selesai, selanjutnya bisa dilakukan persiapan template dan melanjutkan project nya

Referensi