Laravel #4 – Passing Data Controller Ke View Laravel 8

Passing data adalah proses mengoper data. Pada framework Laravel, kita bisa melakukan pengoperan data dari controller ke view untuk ditampilkan
Laravel #4 – Passing Data Controller Ke View Laravel 8

Passing data adalah proses mengoper data. Pada framework Laravel, kita bisa melakukan pengoperan data dari controller ke view untuk ditampilkan. Proses ini akan sering kita lakukan ketika membuat aplikasi yang dinamis, jadi pahami baik-baik tentang bagaimana cara passing data yang benar di Laravel.

Karena tutorial ini merupakan lanjutan dari tutorial sebelumnya, sebaiknya kamu mengikuti tutorial laravel dari part sebelumnya agar kamu tidak kebingungan.

  1. Belajar Route & View pada Laravel
  2. Belajar Membuat Controller pada Laravel

Pada artikel di atas kita telah belajar membuat view kemudian memanggil view tersebut di controller. Namun kita belum belajar bagaimana cara mengirim data yang ada di controller untuk ditampilkan di viewnya. Maka dari itu, kita akan mempelajarinya di tutorial ini.

Lalu bagaimana cara untuk passing data atau oper data di Laravel? Kita bisa mengirim data dengan parameter kedua pada fungsi view(). Baca dan pahami langkah-langkahnya berikut ini.

Passing Data Dari Controller Ke View Laravel

Pertama-tama kita akan mencoba membuat controller dengan perintah php artisan. Controller yang akan kita buat bernama DosenController.

Untuk membuat controller dengan nama DosenController, silakan masuk ke direktori project laravel dan jalankan command berikut ini.

php artisan make:controller DosenController
Membuat controller dengan terminal / command prompt

Jika controller sudah selesai dibuat, kita harus membuat route baru yang digunakan untuk mengakses controller tersebut. Buka file web.php pada folder routes, tambahkan baris kode berikut ini di paling atas.

routes/web.php

use App\Http\Controllers\DosenController;

Kemudian tambahkan baris kode berikut ini paling bawah.

Route::get('/dosen', [DosenController::class, 'index']);

Maka kode lengkapnya akan seperti gambar berikut ini.

route DosenController

Kita sudah berhasil membuat controller dan routingnya. Sekarang mari kita buat method/function index() dalam DosenController.

Buka file DosenController.php dan buat kode seperti di bawah ini.

app/Http/Controllers/DosenController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class DosenController extends Controller
{
 public function index() {
 $nama = 'aantamim.ID';
 return view('biodata', ['nama' => $nama]);
 }
}

Perhatikan kode di atas, kita sudah membuat variable nama yang menyimpan teks “aantamim.ID”.

Kemudian pada bagian parameter kedua dari fungsi view terdapat kode seperti berikut ini.

['nama' => $nama]

Parameter kedua dari view di atas kita memerintahkan untuk mengirimkan data bernama variable nama. Selanjutnya pada view biodata.blade.php, kita bisa langsung menampilkan data yang ada pada variable nama tersebut.

Karena kita belum memiliki file biodata.blade.php, silakan buat dahulu file tersebut dan buat kodenya seperti di bawah ini.

resources/views/biodata.blade.php

<!DOCTYPE html>
<html>
  <head>
    <title>Passing Data Controller Ke View Pada Laravel</title>
  </head>
  <body>
    Nama: {{ $nama }}
  </body>
</html>

Perhatikan kode di atas, kita bisa langsung menampilkan data yang ada dalam variable nama tadi hanya dengan menuliskan kode {{ $nama }}. Karena datanya bukan array, kita bisa menampilkan data tersebut tanpa foreach. Inilah kelebihan dari sistem template blade dari Laravel (.blade.php) yang sangat memudahkan kita. Jadi kita tidak perlu lagi menuliskannya dengan cara membuka tag php ().

Sekarang lihat hasilnya di 127.0.0.1:8000/dosen.

Cara Passing Data Laravel Blade View Controller

Passing Data Array Ke View Laravel

Sebelumnya kita sudah mencoba mengoper data berupa variable biasa. Lalu bagaimana jika variable kita berupa array? Perhatikan contoh berikut ini.

app/Http/Controllers/DosenController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class DosenController extends Controller
{
 public function index() {
 $nama = 'aantamim.ID';
 $mata_pelajaran = ['Matematika', 'Pemrograman Web', 'Basis Data'];
 return view('biodata', ['nama' => $nama, 'mapel' => $mata_pelajaran]);
 }
}

Perhatikan kode di atas, untuk passing data tidak ada perbedaan dengan langkah sebelumnya. Karena data yang dikirim lebih dari satu variable, kita tinggal menambahkan simbol koma untuk memisahkan variable yang dikirim.

['nama' => $nama, 'mapel' => $mata_pelajaran]

Pada contoh data array di atas, kita mengirimkan variable mata_pelajaran yang berupa array, kemudian variable tersebut kita kirim dengan nama mapel.

Untuk menampilkan data yang sudah dikirim, buka file view biodata.blade.php lagi dan buat kodenya seperti berikut.

resources/views/biodata.blade.php

<!DOCTYPE html>
<html>
<head>
    <title>Passing Data Controller Ke View Pada Laravel</title>
</head>
<body>
    <h1><a href="https://aantamim.id/category/laravel/">Tutorial Laravel</a></h1>
    Nama: {{ $nama }}

    <p>Mata Pelajaran</p>
    @foreach ($mapel as $i)
        <li>{{ $i }}</li>
    @endforeach
</body>
</html>

Perhatikan kode di atas, data array mapel yang dikirimkan dari controller kita tampilkan menggunakan fungsi foreach() karena datanya berupa array.

Penulisan fungsi foreach dan perulangan lainnya juga tidak lagi memakai tag php, kita bisa menggunakan simbol @ secara langsung.

Sekarang lihat hasilnya di 127.0.0.1:8000/dosen.

Passing Data Array ke View Laravel

Kesimpulan

Kita sudah belajar mengambil view dari controller, mengoper data dan data array dari controller ke view Laravel. Buat kamu yang ingin baca dokumentasi tentang views pada Laravel, silakan baca pada link di bawah ini.

https://laravel.com/docs/views