Laravel — Delete не показывает сообщение об ошибке flash при возврате else

#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