Tutorial CRUD Laravel 7 - Create Data

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.

Apa selanjutnya?


Mimin lagi bagi-bagi source code gratis nih - Source Code Gratis!
Note :
Jika terdapat kesalahan dalam pengertian, silahkan teman-teman memberikan komentar yang membangun.

Posting Komentar

0 Komentar