Passing data adalah proses mengoper/mengirimkan data, data yang dioper/dikirimkan adalah data yang ada pada controller ke view untuk ditampilkan. Cara untuk mempassing atau mengirim data ke view pada laravel, kita bisa mengirim datanya dalam parameter ke-2 pada fungsi view().
Fungsi view() kita gunakan untuk memanggil view yang ingin ditampilkan, data yang ingin di passing kita letakkan pada parameter ke-2 dalam fungsi view.
Memanggil View Dari Controller Laravel
Pada materi sebelumnya tentang controller kita telah membuat controller SiswaController, kita akan memanggil atau menampilkan view dari controller SiswaController yang sudah kita buat pada tutorial laravel sebelumnya.
Buka controller SiswaController, pada latihan_laravel/app/Http/Controllers/SiswaController.php.

Pada tutorial sebelumnya kita telah membuat method siswatampil() pada controller SiswaController. Untuk me-return atau mengembalikan string, kita isi dengan syntax berikut :
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class SiswaController extends Controller
{
public function siswatampil()
{
return "Halo ini adalah method siswatampil(), dalam controller SiswaController";
}
}
Sekarang kita akan mencoba memanggil atau menampilkan view dari controller, jadi sampai di sini kita tidak lagi menampilkan view dari route seperti cara sebelumnya.
Karena cara sebelumnya kita hanya berkenalan dengan route dan cara pemanggilan view, cara benar nya adalah view tetap di panggil dari controller untuk ditampilkan.
Buat view baru, di sini kita akan menampilkan view biodata siswa, jadi buat sebuah file view baru lagi dalam folder views, buat dengan nama biodatasiswa.blade.php. Untuk nama view-nya bebas, asalkan ekstensinya tetap menggunakan .blade.php seperti cara membuat view pada laravel yang sudah dijelaskan pada tutorial sebelumnya.
Pembuatan view bisa dengan cara manual atau dengan sintak :
php artisan make:view BiodataSiswa
Isi biodatasiswa.blade.php dengan sintak seperti berikut ini :
<!DOCTYPE html>
<html>
<head>
<title>Tutorial Laravel 11 #5 : Passing Data Controller Ke View</title>
</head>
<body>
<h1>Tutorial Laravel</h1>
<a href="https://www.agussuratna.net/category/laravel" target="_blank">
www.agussuratna.net
</a>
</body>
</html>
Selanjutnya pada method siswatampil() dalam controller SiswaController kita panggil view biodatasiswa.blade.php ini.
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class SiswaController extends Controller
{
public function siswatampil()
{
return view('biodatasiswa');
}
}
Sekarang pada saat kita mengakses localhost:8000/siswa atau localhost/latihan_laravel/public/siswa, maka akan ditampilkan view biodatasiswa.blade.php. Karena pada materi sebelumnya yaitu pada tutorial cara membuat controller pada laravel, kita telah memerintahkan route ‘/siswa’ menjalankan controller SiswaController dan method siswatampil() pada saat route /siswa di akses.
Sekarang kita akan mengakses route “/siswa”, jangan lupa menjalankan “php artisan serve” dahulu. Hasil dari mengakses localhost:8000/siswa , maka hasilnya :

Passing Data Dari Controller Ke View Laravel
Untuk memparsing data dari controller ke view, kita bisa mengirimkannya pada parameter kedua pada fungsi view(). Silahkan buka lagi method siswatampil() pada controller SiswaController.
latihan_laravel/app/Http/Controllers/SiswaController.php :
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class SiswaController extends Controller
{
public function siswatampil()
{
$nama = "Agus Suratna";
return view('biodatasiswa',['var_nama' => $nama]);
}
}
Perhatikan pada syntax di atas kita membuat sebuah variabel $nama yang menyimpan data string “Agus Suratna”.
Kemudian pada bagian :
['var_nama' => $nama]
kita mengirimkan data pada variabel $nama yang akan ditangkap oleh key var_nama, selanjutnya pada view biodatasiswa.blade.php, kita bisa langsung menampilkan data yang ada dalam variabel nama.
Buka view biodatasiswa.blade.php, tambahkan sintaknya menjadi seperti berikut :
latihan_laravel/resources/views/biodatasiswa.blade.php
<!DOCTYPE html>
<html>
<head>
<title>Tutorial Laravel 11 #5 : Passing Data Controller Ke View</title>
</head>
<body>
<h1>Tutorial Laravel</h1>
<a href="https://www.agussuratna.net/category/laravel" target="_blank">
www.agussuratna.net
</a>
<br>
<p>Nama : {{ $var_nama }}</p>
</body>
</html>
Perhatikan pada syntax di atas, kita bisa langsung menampilkan data yang ada dalam variabel nama tadi hanya dengan menuliskan syntax {{ $var_nama }} . Jadi kita tidak perlu lagi menuliskannya dengan cara membuka tag php ( <?php ……. ?>).
Ini lah kelebihan dari sistem template blade dari laravel ( .blade.php ), segala penggunaannya sudah dipermudah dalam menggunakan laravel.
Hasil dari passing data tersebut bisa diakses dengan cara localhost:8000/siswa.

Passing Data Array Ke View Laravel
Untuk mengoper/mengirim data array ke view laravel, perhatikan contoh berikut :
latihan_laravel/app/Http/Controllers/SiswaController.php :
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class SiswaController extends Controller
{
public function siswatampil()
{
$nama = "Agus Suratna";
$pelajaran = ["Pemrograman Web","Jaringan Komputer","Basis Data"];
return view('biodatasiswa',['var_nama' => $nama, 'mapel' => $pelajaran]);
}
}
Perhatikan pada syntax di atas, data array yang kita masukkan dalam variabel $pelajaran bisa langsung kita passing ke view, dengan cara yang sama, data-data yang dikirim ke view tinggal kita pisahkan dengan tanda koma ” , “.
['var_nama' => $nama , 'mapel' => $pelajaran]
Pada contoh data array yang dikirim di atas, data array kita masukkan dalam variabel $pelajaran, kemudian kita kirimkan melalui key dengan nama “mapel”, jadi pada view kita akan mengakses dengan nama “mapel”.
Buka view biodatasiswa.blade.php lagi.
latihan_laravel/resources/views/biodatasiswa.blade.php :
<!DOCTYPE html>
<html>
<head>
<title>Tutorial Laravel 11 #5 : Passing Data Controller Ke View</title>
</head>
<body>
<h1>Tutorial Laravel</h1>
<a href="https://www.agussuratna.net/category/laravel" target="_blank">
www.agussuratna.net
</a>
<br>
<p>Nama : {{ $var_nama }}</p>
<p>Mata Pelajaran</p>
<ul>
@foreach($mapel as $m)
<li>{{ $m }}</li>
@endforeach
</ul>
</body>
</html>
Perhatikan pada syntax di atas, data array mapel yang dikirimkan dari controller kita tampilkan dengan menggunakan looping foreach(), karena datanya dalam bentuk array.
Data variabel $mapel kita ubah/aliaskan menjadi variabel $m dalam fungsi foreach(), kemudian kita tinggal menampilkan variabel $m seperti pada syntax di atas.
Untuk penulisan fungsi foreach() dan perulangan lainnya dalam template blade laravel kita juga tidak perlu menulisakan tag php, kita bisa menggunakan tanda @ langsung.
Haasilnya seperti berikut ini :

Demikian tutorial cara passing data Controller Ke View, selanjutnya kita akan mempelajari tentang Request Data pada Laravel 11.
Be the first to comment