There are multiple ways through which you can pass data from your routes to views. We will explore them all.
-
Attaching data to view
You can bind your data directly to your view file and while returning the view from the routes.
Route::get('/', function(){ return view('welcome',['name'=>'World','age'=>3]); });
With this above route, variable name and age are now directly available to your in your view file and you can echo / print the variable with something like
<h1>Hello {{$name}}</h1>
-
Attaching data using with method
You can bind data to view using with keyword. This works exactly similar to the previous way of attaching the data.
Route::get('/', function(){ return view('welcome')->with('name','World'); });
-
Using compact method
Laravel has provided a compact method which looks more systematic and can be used like below.
Host Laravel Application on DigitalOcean
Use coupon 5balloons on this Cloudways Affiliate URL to get special discount.
Use coupon 5balloons on this Cloudways Affiliate URL to get special discount.
//Welcome view Route::get('/', function(){ $name = 'World'; return view('welcome',compact('name')); }); //Data View Route::get('/data', function(){ $name = 'World'; $age = '28'; return view('data',compact('name','age')); }); //Sending as List Route::get('/listdata', function(){ $tasks = [ 'Write Code', 'Unit Test', 'Deliver' ]; return view('listdata',compact('tasks')); });