如何使用Laravel重定向发送数据

时间:2014-08-01 10:41:49

标签: php laravel laravel-4 blade

我开发了一个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。

}

3 个答案:

答案 0 :(得分:31)

在商店()

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

并在show()中用

阅读
Session::get('data');

答案 1 :(得分:6)

使用辅助函数的简单重定向。

因此,您不需要在控制器模型中设置use Redirectuse 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
}