Laravel — установить сессию из формы ввода

Я не могу отобразить значение сеанса в моем представлении. Я только хочу показать его, чтобы увидеть, правильно ли он установлен внутри контроллера. Правильно ли установлено в контроллере? Как я могу проверить?
Я имею это ввиду:

<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') }}

Что я делаю неправильно?

0

Решение

Вы можете попробовать это:

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

Надеюсь, ты получил ответ

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]