Как установить и получить данные сеанса в разработке пакетов Laravel
Я разрабатываю пакет с контактной формой в Laravel. Я пытаюсь установить и получить данные сеанса, но это не работает со следующим.
Посмотреть
@if(session('success'))
<div class="alert alert-success alert-dismissible">
<a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
{{session('success')}}
</div>
@endif
контроллер
public function store(Request $request)
{
//Validation
$request->validate([
'email'=>'required|max:50|unique:contact_forms,email'
]);
//Data
$contact_form = new ContactForm();
$contact_form->full_name = $request->full_name;
$contact_form->mobile = $request->mobile;
$contact_form->email = $request->email;
//Save
$contact_form->save();
//Return back
return back()->with('success','Record inserted successfully');
}
маршрут
Route::group(['namespace' => 'W3public\ContactForm\Http\Controllers'], function () {
Route::get('contact-us', 'ContactFormController@index');
Route::post('contact-us', 'ContactFormController@store')->name('contact-us');
});
Как я могу установить / получить данные сеанса при разработке пакета в Laravel? Заранее спасибо.
1 ответ
Лучший способ сделать это - флэш-сообщения
Redirect as
$request->session()->flash('alert-success', 'Record inserted successfully!');
и в вашем файле просмотра
<div class="flash-message">
@foreach (['danger', 'warning', 'success', 'info'] as $msg)
@if(Session::has('alert-' . $msg))
<p class="alert alert-{{ $msg }}">{{ Session::get('alert-' . $msg) }} <a href="#" class="close" data-dismiss="alert" aria-label="close">×</a></p>
@endif
@endforeach