Assalamualaikum wr.wb
Ini adalah seri lanjutan dari Belajar membuat CRUD dengan Laravel 7. Sesuai list kali ini kita akan belajar bagaimana caranya menyimpan data ke
database atau Create Data di laravel.
Seperti biasa teman-teman jalankan terlebih dahulu web
server dan projek laravelnya.
Buka kembali halaman peserta yang kemarin kita sudah buat di
web browser.
Kita buat sebuah tombol(button) untuk membuka halaman tambah
data, silahkan teman-teman bebas mau dimana saja penempatan tombolnya.
Kemudian kita akan membuat sebuah routing di web.php untuk
perpindahan halaman webnya. Buat sebuah routing dengan tipe get, untuk penamaan
url dan aliasnya bebas terserah teman-teman saja namun mimin sarankan untuk
mengikuti penamaan dari tutorial ini.
Kemudian kita buat sebuah method dengan nama create di
PesertaController.
Persiapan routing dan controllernya sudah selesai, kemudian
kita akan tambahkan alamat url di tombol yang telah kita buat tadi untuk
perpindahan halamannya.
Pada hrefnya teman-teman isikan {{ route(‘nama.alias’) }}
yang di buat pada routing tadi. Jadi kita sudah tau kan fungsi alias dari routing?
Jika kita inspect elmen alias ini akan menampilkan url aslinya.
*Refresh halaman terlebih dahulu
Kemudian coba teman-teman kunjungi url yang telah kita buat
tadi menggunakan tombol “Tambah Data”.
Dan opps.. sudah tau kan maksud dari error tersebut? Ya bahwa
file create belum kita buat, silahkan teman-teman buat terlebih dahulu dan isikan
kodingan form sederharana, kalau mimin sih seperti ini.
Kita buat beberapa input sesuai field dari tabel peserta. Untuk
name dari inputannya kita bebas mau apa saja, tapi mimin sarankan untuk name
input samakan saja sesuai field dari tabel peserta.
*Untuk tampilan silahkan
teman-teman berkreasi sendiri sekreatif mungkin, pada tampilan ini mimin telah
menambahkan tabel untuk merapihkan formnya.
Setelah formnya dibuat tentunya kita harus membuat lagi satu
routing dengan tipe post untuk menyimpan datanya, teman-teman bisa buka kembali
file web.php-nya.
*Route::post(‘url’, .... Untuk manipulasi data gunakan tipe
post!
*Buat methodnya, karena kita akan menerima data maka kita
tambahkan argumen di methodnya Request $request. Dan untuk sementara kita
isikan saja dd($request->all());
*Tambahkan url di action-nya
Setelah persiapan selesai kita coba menambahkan datanya.
*Enter/klik tombol simpan data
Setelah dienter kita akan mendapatkan halaman blank putih dengan pesan 419 | Page Expired kenapa? Karena kita tidak menambahkan sebuah token di formnya.
*Tambahkan token dengan @csrf dan jika di inspact token ini
akan dirender menjadi input type hidden, silahkan teman-teman cek sendiri
perubahannya. @csrf token ini berfungsi sebagai keamanan di laravel dan jika
teman-teman akan membuat form dengan method post jangan lupa teman-teman
tambahkan @csrf token ini.
Kita coba kembali isi kan data di formnya.
Setelah dienter laravel akan mengembalikan data yang telah
kita input tadi.
Tampilan ini kita ambil dari perintah dd tadi atau
teman-teman bisa menggunakan var_dump($request->all());
dan var_dump ini berfungsi untuk melihat apakah semua data yang kita input tadi
sudah benar dan tidak ada yang terlewat. Data yang dikirimkan dari form tadi
berbentuk asosiatif array dengan name input untuk kunci array-nya dan data
dari form yang kita input sebagai value arraynya.
Setelah kita mengecek bahwa sudah tidak ada data yang
terlewat, kita hapus dd nya dan tambahkan kode insertnya.
Satu baris perintah ini juga sudah cukup untuk menambahkan
data ke database, gimana simpel bukan? Hehe.
Kita reload kembali halamannya.
Dan opps...
Kenapa error? Karena kita belum menambahkan field yang boleh
di isi masal pada model pesertanya, dan biasanya banyak orang yang lupa akan pengisian field masal ini.
Silahkan teman-teman buka model pesertanya, kemudian
tambahkan protected $fillable = [‘field yang boleh diisi masal’];
Kita coba reload lagi browsernya.
*Oke datanya sudah masuk
Min gimana jika name inputnya tidak sesuai dengan field
dari tablelnya? Gampang saja teman-teman tinggal membuat array terlebih dahulu untuk menampung datanya.
Sekian untuk tutorial kali ini, semoga bermanfaat untuk teman-teman umumnya dan semoga tutorialnya mudah untuk dipahami. Jika teman-teman mengalami error atau ada yang kurang paham bisa tanyakan di kolom komentar.
Mimin lagi bagi-bagi source code gratis nih - Source Code Gratis!
Note :
Jika terdapat kesalahan dalam pengertian, silahkan teman-teman memberikan komentar yang membangun.
0 Komentar