Как установить и получить данные сеанса в разработке пакетов Laravel - PullRequest
0 голосов
/ 15 января 2019

Я разрабатываю пакет с контактной формой в Laravel. Я пытаюсь установить и получить данные сеанса, но они не работают со следующим.

View

@if(session('success'))
    <div class="alert alert-success alert-dismissible">
        <a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</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 Ответ

0 голосов
/ 15 января 2019

Лучший способ сделать это - сообщения флэш-сессии

Перенаправить как

$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">&times;</a></p>
  @endif
@endforeach

...