web-dev-qa-db-fra.com

Comment afficher le message de succès de sauvegarde dans Laravel 5.1?

Dans Laravel 5.1, je peux sauvegarder les données dans la base de données. Mais j'aimerais afficher un message de réussite. Comment puis-je le faire? Mon code dans le code de sauvegarde du contrôleur est

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
23
Myat Htut

Il suffit d'ajouter ce code avant votre code de redirection:

$request->session()->flash('alert-success', 'User was successful added!');

Donc, le code complet est comme ici:

public function store(Request $request)
{
    // your function

    $request->session()->flash('alert-success', 'User was successful added!');
    return redirect()->route("photo.index");
}

Laravel 5.4 à propos des données Flash: https://laravel.com/docs/5.4/session#flash-data

et pour votre vue:

<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
  </div> <!-- end .flash-message -->

Vous pouvez utiliser Bootstrap Alertes: http://www.w3schools.com/bootstrap/bootstrap_alerts.asp

81
Ridwan Pujakesuma

utiliser le code

return redirect()->route("photo.index")->with('message','Success');

et dans ton template

@if(session('message'))
  {{session('message')}}
@endif
15
Naumov

Très facile

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

Dans votre vue principale, ou index, ajoutez ceci.

@if(Session::has('flash_message'))
    <div class="alert alert-success"><span class="glyphicon glyphicon-ok"></span><em> {!! session('flash_message') !!}</em></div>
@endif

Si vous voulez avoir différents styles de flash, vérifiez ceci Messages Flash dans Laravel 5

12
Ikong

Vous pouvez rediriger l'utilisateur et lui montrer le message flash. Le message sera disponible en vue de cette manière {{ $message }}

return redirect('user/login')->with('message', 'Success!');

Plus à ce sujet, vous pouvez trouver ici .

7
Viktor

Afficher le message de réussite avec le bouton de fermeture:

Code du contrôleur:

$seeder->save();    
return redirect('photo.index')->with('status', 'You have successfully Created!');

Il suffit de coller le code ci-dessous dans votre fichier de vue.

@if (session('status'))
        <div class="alert alert-success">
        <a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a> {{ session('status') }}
        </div>
    @endif
6
Mamun Rasid

Dans Laravel 5.5, vous pouvez utiliser ...

Dans votre action de contrôleur:

...
return redirect('photo.index')->with('alert-success', 'The data was saved successfully');

Ensuite, dans votre modèle, vous pouvez utiliser l’assistant de session:

@if(session()->has('alert-success'))
    <div class="alert alert-success">
        {{ session()->get('alert-success') }}
    </div>
@endif
3
omarjebari

la meilleure façon -> https://github.com/laracasts/flash

il suffit de le faire clignoter ('Message', 'Info')

2
rothink