我正在尝试临时存储数据并在其他一些页面中打印。所选数据仅在我刷新页面之前存在。我该如何解决?谢谢。
index.blade.php
<form action="" method="post">
{!! Form::select('first_name', $firstNames) !!}
<button type="submit" value="Submit">Go</button>
</form>
DashboardController.php
public function getIndex( Request $request )
{
$this->data['online_users'] = \DB::table('tb_users')->orderBy('last_activity','desc')->limit(10)->get();
$this->data['firstNames'] = \DB::table('tb_users')->orderBy('first_name')->lists('first_name', 'id');
$request->session()->put('first_name', input::get('first_name'));
$this->data['active'] = '';
return view('dashboard.index',$this->data);
}
回声
<p>{{Session::get('first_name')}}</p>
答案 0 :(得分:4)
使用会话变量来跨页面保存数据
第1页
{{Session::put('firstName','John')}}
第2页
{{Session::get('firstName')}}
所以试试这个
public function getIndex( Request $request )
{
$this->data['online_users'] = \DB::table('tb_users')->orderBy('last_activity','desc')->limit(10)->get();
$this->data['firstNames'] = \DB::table('tb_users')->orderBy('first_name')->lists('first_name', 'id');
\Session::put('first_name', $request->get('first_name'));
$this->data['active'] = '';
return view('dashboard.index',$this->data);
}
将您的路线添加到网络中间件以使用会话!
<强> routes.php文件强>
Route::group(['middleware' =>['web']],function(){
Route::get('myroute','DashboardController@getIndex');
});
详细了解laravel sessions here
答案 1 :(得分:0)
尝试将compact('data')
替换为$data
答案 2 :(得分:0)
尝试这样做
public function getIndex( Request $request )
{
$data['online_users'] = \DB::table('tb_users')->orderBy('last_activity','desc')->limit(10)->get();
$data['firstNames'] = \DB::table('tb_users')->orderBy('first_name')->lists('first_name', 'id');
$data['first_name'] = input::get('first_name');
$data['active'] = '';
return view('dashboard.index')->with('data', $data);
}
像这样查看
<p>{{ $data['first_name'] }}</p>
答案 3 :(得分:0)
对于商店会议: - 会话([&#39; first_name&#39; =&gt; $ request-&gt; get(&#39; first_name&#39;)])
获取会话值: - 会话(&#39;如first_name&#39)