我开发了一个API,用于在页面加载时显示弹出消息。
并非所有网页都使用弹出式API。例如,如果用户转到show($id)
页面,则不需要弹出api。但在某些特殊情况下,我需要弹出窗口。
这是我的代码,**这段代码只是为了说明我的观点,而不是实际的工作代码**
public function store(){
validating the input
saving them
$id = get the id
return Redirect::route('clients.show, $id')
}
在show函数中我这样做:
public function show($id){
$client =Client::find($id)
return View::make('clients.profife')->with(array(
'data' => $client
))
有没有办法可以使用Redirect :: route 将数据从store
函数发送到show
函数?然后在show
函数中,检查是否有show
函数,我检查这些数据是否已经发送了什么,然后我决定是否激活弹出API。
}
答案 0 :(得分:31)
在商店()
return Redirect::route('clients.show, $id')->with( ['data' => $data] );
并在show()
中用
Session::get('data');
答案 1 :(得分:6)
使用辅助函数的简单重定向。
因此,您不需要在控制器模型中设置use Redirect
或use Session
。
在Controller中处理内容后,插入:
return redirect()->route( 'clients.show' )->with( [ 'id' => $id ] );
要检索路由'id'
中的变量'clients.show'
(如上所述),请使用:
// in PHP
$id = session()->get( 'id' );
// in Blade
{{ session()->get( 'id' ) }}
答案 2 :(得分:0)
是的,您可以在路线中定义路径,如下所示:
Route::get('store/{id?}/{param1?}/{param2?}/{param3?}', 'clients@store');
您可以在函数中传递多个参数,并通过传递参数读入控制器。
您可以在控制器中定义:
public function store(id, param1,param2,param3){
//read the param values
}