Akhirnya sampai pada materi yang lebih hots 🔥
Sebelumnya kita telah mempelajari tentang route dasar, fungsi dari route dan menggunakan route yang disertai dengan parameter
Sekarang waktunya untuk mempelajari route yang memiliki kemampuan untuk passing data menggunakan view. Hah!? Passing data yaitu kemampuan untuk mengirim dan menerima data, juga sekaligus bisa menampilkan.
Passing data atau mengirim data dalam Laravel ini memiliki empat cara, yaitu :
- Dengan With
- Metode Compact
- Metode Array
- Dengan Model
Di materi pembalajaran kali ini menggunakan metode array ( array method ). Langsung saja, tanpa panjang x lebar 🚀
Studi kasus :
- Mengirim data pribadi siswa yaitu nis
- Mengirim lebih dari satu parameter
Buka fail web.php, buat route baru /kirimData
Kemudan buat view baru di folder resources/views, terimaData.blade.php
Fail ini digunakan untuk tujuan dari route /kirimData sekaligus untuk menerima parameter dan menampilkan data
Dalam get() dibuat route baru dengan tujuan /kirimData
Kembali lagi ke fail web.php
Seperti diawal tadi, kita akan mengirim data berupa nis dari route ini. Maka kita perlu menambahkan parameter nis Route::get('/kirimData/{nis}', dan variabel nis dalam fungsi function(int $nis)
Route kita menjadi
return view('terimaData', ['nisSiswa'=> $nis]); memiliki penjelasan sederhana panggil terimaData.blade.php dengan menyertakan data $nisSiswa yang memiliki data atau mengandung nilai seperti dari $_GET['nis']. $_GET['nis'] menerima data dari route /kirimData/{nis}.
Kalau dalam PHP fundamental, baris kode ['nisSiswa'=> $nis] memiliki makna :
$nisSiswa = $_GET['nis']
Sampai disini paham!? 😁
Oklah, sambil belajar ya....
Selanjutnya mari pindah ke view terimaData.blade.php
Karena tadi sudah ada variabel $nisSiswa dari baris kode ['nisSiswa'=> $nis], maka di view ini tinggal memanggil variabel tersebut. Dan enaknya, tidak perlu menggunakan echo.
Cukup dengan menggunakan dobel kurung kurawal {{ $nisSiswa }}, perhatikan pada gambar berikut :
Ingat! Tadi route memiliki parameter, maka perlu disertakan dan diberi nilai
/kirimData/{nis}, maka menjadi :
http://localhost:8000/kirimData/9987801
Karena {nis} ini bisa dikatakan merupakan variabel. Perhatikan pada fungsi terdapat function(int $nis) maka diisi dengan nilai atau value.
Hasilnya
Sekarang, bagaimana bila ingin mengirim data lebih dari satu!? Jawabannya sama dengan materi sebelumnya
Tinggal tambahkan lagi parameter lain, misal nama. Pisahkan dengan garis miring. Jangan lupa di bagian fungsi tambahkan variabel baru
Route::get('/kirimData/{nis}/{nama}', function(int $nis, string $nama)
Kemudian pada return berikan lagi data [ data ]. Pisahkan pula dengan koma, menjadi :
return view('terimaData', ['nisSiswa'=> $nis], ['namaSiswa' => $nama]);
Lengkapnya tampak menjadi
Terlihat, sekarang route kita panggil dengan menyertakan dua value dari parameter yaitu 67364 dan Istakim
Hasilnya
Bisa juga ditampilkan dengan diberikan <br> atau menyertakan markah-markah HTML. Contoh dalam view terimaData.blade.php menjadi
Tampak tidak perlu lagi menggunakan pembuka <?php dan penutupnya ?>
Cukup dengan kurawal dobel {{ }}
Yeaaayyy!!! Berhasil 😁😇
Sampai sini ada pertanyaan ? Jangan ragu menuliskan di kolom yang tertera ....
Tags:
Laravel