How to send data using redirect with Laravel

2019-04-18 20:03发布

I developed an API to show a pop up message when the page loaded.

Not all the pages use the pop up API. For example, if the user go to the show($id) page, that doesn't required the pop up api to fire. but in some special cases, I need the pop up to be fired.

Here is my code, ** this code is just to illustrate my point, not an actual working code**

public function store(){
    validating the input

    saving them

    $id = get the id

    return Redirect::route('clients.show, $id')
}

and in the show function I do this:

public function show($id){
   $client =Client::find($id)
   return View::make('clients.profife')->with(array(
   'data' => $client
))

My question

Is there a way so I can send a data from the store function to the show function using Redirect::route ? and then in the show function, I check if this show function, I check if this data has been sent of what and then I decide whether to fire the pop up api or not.

}

3条回答
放荡不羁爱自由
2楼-- · 2019-04-18 20:25

A simple redirect using helper functions.

So you don't need to set use Redirect nor use Session in your Controller Model.

After you processing something in your Controller, insert:

return redirect()->route( 'clients.show' )->with( [ 'id' => $id ] );

To retrieve the variable 'id' in route 'clients.show' (mentioned above), use:

// in PHP
$id = session()->get( 'id' );

// in Blade
{{ session()->get( 'id' ) }}
查看更多
Explosion°爆炸
3楼-- · 2019-04-18 20:29

In store()

return Redirect::route('clients.show, $id')->with( ['data' => $data] );

and in show() read it with

Session::get('data');
查看更多
小情绪 Triste *
4楼-- · 2019-04-18 20:30

Yes you can define path in route like below:

Route::get('store/{id?}/{param1?}/{param2?}/{param3?}', 'clients@store');

You can pass multiple parameter in function and read in controller by passing argument..

You can define in controller :

public function store(id, param1,param2,param3){
//read the param values
}
查看更多
登录 后发表回答