Laravel - 从表单输入设置会话
Laravel - set session from form input
我无法在我的视图中显示会话值。我只想显示它以查看它是否在控制器内正确设置。它是否在控制器中正确设置?我该如何检查?
我有这个看法:
<div class="panel panel-success">
<form action="{{ route('get_table') }}" method="POST">
{{ csrf_field() }}
@foreach($tables as $data)
<button type="submit" name="tables" class="btn btn-primary" value="{{ $data->id }}">
{{$data->name }}
</button>
@endforeach
</form>
{{ Session::get('table_id') }}
</div>
ListController 中的这个:
public function index() {
$tables = DB::table('tables')->get();
return view('welcome', compact('tables'));
}
public function getTable(Request $request) {
$table_id = $request->get('tables');
$request->session()->put('table_id', $table_id);
}
这在 web.php 路线中:
Route::get('/', 'ListController@index')->name('get_table');
Route::post('/', 'ListController@getTable');
我什至试过了
public function getTable(Request $request) {
$request->session()->put('table_id', '1234');
}
{{ Session::get('table_id') }}
的视图中未显示任何内容
我做错了什么?
你可以试试这个:
public function getTable(Request $request) {
$table_id = $request->get('tables');
return redirect()->back()->with('table_id',$table_id);
}
如果您想重定向到特定路线,则:
public function getTable(Request $request) {
$table_id = $request->get('tables');
return redirect()->route('RouteName')->with('table_id',$table_id);
}
然后在视图中:
@if(Session::has('table_id'))
{{ Session::get('table_id') }}
@endif
希望你得到答案
我无法在我的视图中显示会话值。我只想显示它以查看它是否在控制器内正确设置。它是否在控制器中正确设置?我该如何检查? 我有这个看法:
<div class="panel panel-success">
<form action="{{ route('get_table') }}" method="POST">
{{ csrf_field() }}
@foreach($tables as $data)
<button type="submit" name="tables" class="btn btn-primary" value="{{ $data->id }}">
{{$data->name }}
</button>
@endforeach
</form>
{{ Session::get('table_id') }}
</div>
ListController 中的这个:
public function index() {
$tables = DB::table('tables')->get();
return view('welcome', compact('tables'));
}
public function getTable(Request $request) {
$table_id = $request->get('tables');
$request->session()->put('table_id', $table_id);
}
这在 web.php 路线中:
Route::get('/', 'ListController@index')->name('get_table');
Route::post('/', 'ListController@getTable');
我什至试过了
public function getTable(Request $request) {
$request->session()->put('table_id', '1234');
}
{{ Session::get('table_id') }}
我做错了什么?
你可以试试这个:
public function getTable(Request $request) {
$table_id = $request->get('tables');
return redirect()->back()->with('table_id',$table_id);
}
如果您想重定向到特定路线,则:
public function getTable(Request $request) {
$table_id = $request->get('tables');
return redirect()->route('RouteName')->with('table_id',$table_id);
}
然后在视图中:
@if(Session::has('table_id'))
{{ Session::get('table_id') }}
@endif
希望你得到答案