Masih dengan materi passing data nih ...
Bila sebelumnya mengirim data dari route langsung ke view, kali ini akan dipelajari bagaimana langkah-langkah menggunakan controller sebagai jembatan dalam Laravel
Controller penting untuk dipahami sebab ia akan menjadi penghubung antara request user dari view dan akan dikembalikan lagi ke view dalam bentuk sebuah respon.
Mari belajar dengan cara sederhana terlebih dahulu...
Studi kasus :
Mengirim data nama dan kelas melalui controller dan tampil di view
Pertama siapkan projek
Langkah pertama, siapkan fail controller
Gunakan perintah php artisan make:controller SiswaController
Maka di folder app\Http\Controllers akan tercipta fail tersebut
public function index() {
return view('terimaDataWith');
}
Menjadi
Method dengan nama index() ini akan memberikan return berupa view dengan nama terimaDataWith
Method dengan nama index() ini akan memberikan return berupa view dengan nama terimaDataWith
Okey, sampai sini lanjut ke folder views ( karena kita belum membuat fail view dengan nama terimaDataWith.blade.php)
Ingat! Setiap return yang mengembalikan view, wajib ada fail blade di dalam folder views
Buat fail baru terimaDataWith.blade.php di dalam folder views
Buka fail tersebut, kosong bukan? Isi dengan beberapa teks dulu. Misal
Pastikan return view dalam method controller sama dengan nama fail yang ada di dalam folder viewsSekarang giliran buka fail untuk route, yaitu web.php
Misal route dinamai ruteController
Route::get('/ruteController', [SiswaController::class, 'index']);
Karena route sekarang menggunakan controller, maka ada sedikit perbedaan. Setelah nama route, terdapat kurung kotak [] yang di dalamnya menuliskan nama controller tadi yang dibuat dan dipisah dengan kota memanggil method yang tadi dibuat, yaitu method index().
Secara ringkas, route ini intinya menjalankan method index() yang ada di dalam controller SiswaController saat route /ruteController dipanggil melalui peramban. Kemudian method index() akan mengembalikan view ( return view ), dalam kasus ini akan mengembalikan view terimaDataWith.
php artisan serve
Jalankan route /ruteController
Sampai sini kita telah berhasil menggunakan controller sebagai jembatan antara route dan view
Kalau ada error, buka cek kembali dari awal. Pastikan nama fail dalam folder views sama dengan return view yang ada di controller atau pada bagian route. Teliti kembali!
Daaah, mari ngopi dulu sebelum lanjut yaaa
🍵
Jenis passing yang digunakan yaitu with
Buka kembali fail SiswaController, di method index() pada baris return view() tambahkan ->with
Tambahkan parameter dengan di kurung kotak siku [], format parameter :
Tambahkan parameter dengan di kurung kotak siku [], format parameter :
[
'param1' => value,
'param2' => value2,
paramN => valueN
]
Jadi seperti studi kasus diatas, yang akan dikirim yaitu data nama dan kelas menjadi
[
'nama' => "Ahmad Istakim",
'kelas' => 'IX'
]
Ganti dengan variabel yang dikurung kurawal dobel {{ $param1 }}
Apa hasilnya ?
Data yang dikirim berhasil muncul....
Catatan :
Controller diatas menggunakan metode with dalam passing data, bisa juga menggunakan metode array sehingga method index() dalam SiswaController menjadi :
Sumber Kode : GitHub - Passing Data dengan Controller
Begitulah cara menggunakan sebuah controller dalam Laravel sebagai penyambung route menuju view
Ada pertanyaan!? Coret-coret di kolom komentar yaaa
Tags:
Laravel