Dalam Laravel, Anda dapat membuat tampilan dengan menambahkan file baru ke direktori views. File tersebut dapat berisi markup HTML dan juga kode PHP untuk menampilkan data dari aplikasi.
Untuk mengirimkan data ke tampilan, Anda dapat menggunakan perintah return view('nama_file', $data)
di controller. Di sini, nama_file
adalah nama file tampilan yang digunakan, dan $data
adalah array yang berisi data yang akan dikirimkan ke tampilan. Data ini dapat diakses di dalam file tampilan menggunakan sintaks $nama_variabel
.
Contoh:
class UserController extends Controller
{
public function index()
{
$users = User::all();
return view('users.index', compact('users'));
}
}
Di atas adalah contoh controller yang mengambil semua data dari model User dan mengirimkannya ke tampilan ‘users.index’ menggunakan compact() function. Dalam file tampilan, kita dapat mengakses data user dengan menggunakan $users.
<table>
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Email</th>
</tr>
</thead>
<tbody>
@foreach($users as $user)
<tr>
<td>{{ $user->id }}</td>
<td>{{ $user->name }}</td>
<td>{{ $user->email }}</td>
</tr>
@endforeach
</tbody>
</table>
Selain itu, Anda juga dapat mengirim data ke tampilan dengan menggunakan with() function yang dapat mengirimkan data secara global sehingga data dapat diakses dari semua tampilan yang digunakan dalam aplikasi.
return view('users.index')->with('users', $users);
Dan Anda juga dapat mengirimkan data melalui Route
Route::get('/users/{id}', function($id){
$user = User::find($id);
return view('users.show', compact('user'));
});
Dalam contoh di atas, kita mengirimkan data user yang diambil dari model User ke tampilan ‘users.show’ melalui route.