Surya Tanamas
Surya Tanamas

Reputation: 37

Laravel 5 - How to passing request data from route to controller

I am new in laravel, How to passed request data into controller ? Just like happen on view ?

Route::get('/kelihatan', function (Request $request) {
    return view( 'pages' , [ 'page' => 'index' , '_request' => $request->all() ] );
});

How to passing request data to controller before passed into view or model ? Just like this ??

Route::get( '/{page}', 'UserController@show' );

Upvotes: 0

Views: 4348

Answers (4)

Jatin Parmar
Jatin Parmar

Reputation: 2900

Inside your controller define your show function as below:

function show(Request $request)
{
   echo $request['page'];//or whatever data you want to pass

}    
///add follwoing line before you define controller

use Illuminate\Http\Request;

Upvotes: 0

Rashi Goyal
Rashi Goyal

Reputation: 941

Mention the path in route first depending upon the type of request i.e. Get or Post

 Route::get('/invite/{code}', 'MyController@get_my_action');
 Route::post('/invite/{code}', 'MyController@post_my_action');

Then in controller named as MyController create a function like

public function get_my_action($code){
 //your code goes here
}
or
public function post_my_action(Request $request, $code)
{
  //your code goes here
}

Upvotes: 2

Parth Vora
Parth Vora

Reputation: 4114

Try this:

Routes.php

Route::get( '/{page}', 'UserController@show' );

UserController.php

public function show($page) {
   dd($page);
}

Upvotes: 0

dparoli
dparoli

Reputation: 9161

With that route:

Route::get('/{page}', 'UserController@show');

In the controller you can do that:

 public function show()
 {
     $page = request()->route('page');

or that:

public function show($page)

or that:

public function show(Request $request, $page)

Upvotes: 1

Related Questions