Как показать сообщение "Сохранить успех" в Laravel 5.1?
В Laravel 5.1 я могу сохранить данные в базе данных. Но я хотел бы показать успешное сообщение. Как мне это сделать? Мой код в коде сохранения контроллера
public function store(Request $request)
{
$this->validate($request,[
'name'=>'required|unique:seeders|max:255',
'address'=>'required`enter code here`',
'age'=>'required',
]);
$seeder=new Seeders();
$seeder->name=$request->input('name');
$seeder->address=$request->input('address');
$seeder->age=$request->input('age');
$seeder->save();
return redirect()->route("photo.index");
} // save data
Ответы
Ответ 1
Просто добавьте этот код перед кодом перенаправления:
$request->session()->flash('alert-success', 'User was successful added!');
Итак, полный код выглядит следующим образом:
public function store(Request $request)
{
// your function
$request->session()->flash('alert-success', 'User was successful added!');
return redirect()->route("photo.index");
}
Laravel 5.4 о данных Flash:
https://laravel.com/docs/5.4/session#flash-data
и для вашего вида:
<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
</div> <!-- end .flash-message -->
Вы можете использовать оповещение о загрузке Bootstrap: http://www.w3schools.com/bootstrap/bootstrap_alerts.asp
Ответ 2
Очень легко
public function store(Request $request)
{
$this->validate($request,[
'name'=>'required|unique:seeders|max:255',
'address'=>'required`enter code here`',
'age'=>'required',
]);
$seeder=new Seeders();
$seeder->name=$request->input('name');
$seeder->address=$request->input('address');
$seeder->age=$request->input('age');
$seeder->save();
//PUT HERE AFTER YOU SAVE
\Session::flash('flash_message','successfully saved.');
return redirect()->route("photo.index");
} // save data
В вашем основном представлении или индексе
Добавь это.
@if(Session::has('flash_message'))
<div class="alert alert-success"><span class="glyphicon glyphicon-ok"></span><em> {!! session('flash_message') !!}</em></div>
@endif
Если вы хотите иметь разные стили флеш, проверьте это Flash-сообщения в Laravel 5
Ответ 3
используйте код
return redirect()->route("photo.index")->with('message','Success');
и в вашем шаблоне
@if(session('message'))
{{session('message')}}
@endif
Ответ 4
Вы можете перенаправить пользователя и показать ему флеш-сообщение. Таким образом сообщение будет доступно в виде {{ $message }}
return redirect('user/login')->with('message', 'Success!');
Подробнее об этом вы можете найти здесь.
Ответ 5
Показать сообщение об успешном завершении с кнопкой закрытия:
Код контроллера:
$seeder->save();
return redirect('photo.index')->with('status', 'You have successfully Created!');
Просто вставьте указанный ниже код в свой файл просмотра.
@if (session('status'))
<div class="alert alert-success">
<a href="#" class="close" data-dismiss="alert" aria-label="close">×</a> {{ session('status') }}
</div>
@endif
Ответ 6
лучший способ → https://github.com/laracasts/flash
просто сделайте flash ('Message', 'info')
Ответ 7
В Laravel 5.5 вы можете использовать...
В действии вашего контроллера:
...
return redirect('photo.index')->with('alert-success', 'The data was saved successfully');
Затем в вашем шаблоне вы можете использовать помощник сеанса:
@if(session()->has('alert-success'))
<div class="alert alert-success">
{{ session()->get('alert-success') }}
</div>
@endif