#laravel
#ларавель
Вопрос:
В моем Laravel-5.8 у меня есть этот код для удаления таблиц по условиям:
public function destroy($id)
{
try
{
$identity = Identity::findOrFail($id);
if($identity->goals->count() == 0) {
$identity->parameter()->delete();
$identity->delete();
Session::flash('success', 'deleted successfully.');
return redirect()->back();
} else {
Session::flash('error', 'You cannot delete this data. Goals exists!');
return redirect()->back();
}
}
catch (Exception $exception) {
Session::flash('error', 'delete failed!.');
return redirect()->back();
}
}
В
if($identity->goals->count() == 0)
отображает сообщение flash
при
else {
не отображалось флэш-сообщение
Как мне исправить это?
Спасибо
Комментарии:
1. это работает для меня
return redirect()->back()->with('error', 'delete failed!.');
и на вашем блейде@if (Session::has('error') {{ Session::get('error') }} @endif
Ответ №1:
Документ для сеанса flash для laravel 5.8.
Ваш контроллер
public function destroy($id)
{
try
{
$identity = Identity::findOrFail($id);
if($identity->goals->count() == 0) {
$identity->parameter()->delete();
$identity->delete();
return redirect()->back()->with('success', 'deleted successfully.');
} else {
return redirect()->back()->with('error', 'You cannot delete this data. Goals exists!');
}
} catch (Exception $exception) {
return redirect()->back()->with('error', 'delete failed!.');
}
}
и ваш взгляд
@if (session('success'))
<div class="row">
<div class="col-12">
<div class="alert alert-success" role="alert">
{{ session('success') }}
</div>
</div>
</div>
@endif
@if (session('error'))
<div class="row">
<div class="col-12">
<div class="alert alert-danger" role="alert">
{{ session('error') }}
</div>
</div>
</div>
@endif