Aplikasi Inventaris Sekolah (Laravel 7 - Vue.js - SPA) #2: Schema Database dan Model
Pendahuluan
Database pada sebuah aplikasi sangatlah penting yang dimana peranannya untuk menyimpan dan mengolah data-data yang kita miliki.
Artikel sebelumnya kita telah berhasil menginstall projek aplikasi inventaris sekolah menggunakan composer, composer disini akan kita gunakan untuk menginstall beberapa package yang nantinya akan kita butuhkan selanjutnya.
Pada kesempatan ini, kita akan berfokus membuat struktur table dan model yang akan digunakan dalam projek aplikasi ini.
Membuat Table, Model dan Migrasi
sebelum masuk ke tahap membuat migrasi, jangan lupa untuk melakukan setting detail database pada file .env terlebih dahulu.
Jika sudah, kita lanjut ke tahap pembuatan model dan migrasi.
Pada command line, generate migration baru beserta modelNya untuk table Ruang dengan command:
php artisan make:model Ruang -m
buka file migration yang telah dibuat tadi, dan modifikasi menjadi:dan modifikasi model Ruang menjadi:
Melanjutkan table selanjutnya yang berfungsi untuk menyimpan data jenis barang, pada command line jalankan command:
php artisan make:model Jenis -m
Sebuah migration baru untuk menghandle table Jenis telah di-generate, buka file tersebut dan modifikasi menjadi:dan modifikasi model Jenis menjadi:
Setelah semuanya disimpan, kemudain kita buat table level, berguna untuk menyimpan data level untuk table petugas nantinya, pada command line jalankan command:
php artisan make:model Level -m
dan modifikasi migration Level menjadi:
dan modifikasi model Level menjadi:
kemudian kita buat table Petugas, pada command line jalankan command:
php artisan make:model Petugas -m
dan modifikasi migration Petugas menjadi:dan jangan lupa modifikasi model Petugas menjadi:
Note:
* Table Petugas yang nantinya digunakan untuk sarana autentikasi api.
Selanjutnya kita akan membuat table Inventaris bertujuan untuk menyimpan data inventaris barang kita nantinya. Pada command line jalankan command:
php artisan make:model Inventaris -m
dan modifikasi migration Inventaris menjadi:dan jangan lupa juga modifikasi model Inevnatris menjadi:
Note:
public function petugas()
{
return $this->belongsTo('App\Petugas');
}
* Fungsi petugas() pada model Inventaris digunakan untuk merelasikan table Inventaris dengan table Petugas.
public function ruang()
{
return $this->belongsTo('App\Ruang');
}
** Fungsi ruang() pada model Inventaris digunakan untuk merelasikan table Inventaris dengan table Ruang.
public function jenis()
{
return $this->belongsTo('App\Jenis');
}
*** Fungsi jenis() pada model Inventaris digunakan untuk merelasikan table Inventaris dengan table Jenis.
public function detail_pinjam()
{
return $this->hasMany('App\Detail_pinjam');
}
**** Fungsi detail_pinjam() pada model Inventaris digunakan untuk merelasikan table Inventaris dengan table detail_pinjam.
Setelah semuanya tersimpan, langkah selanjutnya kita akan membuat table Pegawai terlebih dahulu, pada command line jalankan command:
php artisan make:model Pegawai -m
dan modifikas migration Pegawai menjadi:
dan modifikasi model Pegawai menjadi:
Note:
public function peminjaman()
{
return $this->hasMany('App\Peminjaman');
}
* Fungsi peminjaman pada model Pegawai digunakan untuk merelasikan table Pegawai dengan table Peminjaman.
Kemudian kita akan membuat table Peminjaman yang bertujuan untuk menyimpan data peminjaman barang inventaris, pada command line jalankan command:
php artisan make:model Peminjaman -m
dan modifikasi migration Peminjaman menjadi:
dan modifikasi model Peminjaman menjadi:
Note:
public function pegawai()
{
return $this->belongsTo('App\Pegawai');
}
* Fungsi pegawai() disini bertujuan untuk merelasikan table Peminjaman dengan table Pegawai.
public function detail_pinjam()
{
return $this->hasMany('App\Detail_pinjam');
}
** Fungsi detail_pinjam() disini bertujuan untuk merelasikan table Peminjaman dengan tavble deatil_pinjams.
Tahap terakhir kita akan membuat table detail_pinjam yang nantinya digunakan untuk men-data data inventaris dan peminjaman keseluruhan, pada command line jalankan command:
php artisan make:model detail_pinjam -m
dan modifikasi migration detail_pinjam menjadi:
dan juga modifikasi model detail_pinjam menjadi:
Note:
public function inventaris()
{
return $this->belongsTo('App\Inventaris');
}
* Fungsi inventaris() bertujuan untuk merelasikan table detail_pinjam dengan table Inventaris.
public function peminjaman()
{
return $this->belongsTo('App\Peminajaman');
}
** Fungsi peminjaman() bertujuan untuk merelasikan table detail_pinjam dengan table Peminjaman.
Terakhir, kita jalankan command:
php artisan migrate
Kesimpulan
Pada tahap ini, kita telah menyelesaikan implementasi erd kedalam migrations dan membuat table yang dibutuhkan. Part selanjutnya kita akan membahas implementasi relasi kedalam migration dan membuat data Seeder untuk sebagai contoh data kita. Mohon maaf bila ada tutur kata yang salah.
Adapun dokumentasi code dalam serial ini dapat kalian lihat di Github
Leave a Comment