Irgendwie zu sehen, ich schaffte es nur, um es arbeitet (Weitergabe von Daten, Arrays von Controller anzuzeigen)Laravel Gabe von Daten von Controller-Sitzungen
return redirect('whatever')->with('arrayName', $arrayName);
in der Ansicht verwenden, darauf zuzugreifen über
@if(!is_null(session('arrayName')))
<div class="alert alert-{{ session('arrayName')['something'] }} alert-dismissable">
// more code goes here
@endif
Jetzt scheint dies eine Sitzung zu sein, und ich verwende diese Technik, um Daten in Form von Informationen (wie erfolgreich erstellt XY, gelöscht, ... und so weiter) (mit der gleichen Der Name des Nachrichten-Arrays), hin und wieder kommt es vor, dass Informationen auf Seiten angezeigt werden, wo Es sollte nicht sein (da der obige HTML-Code in jeder HTML/Blade-Seite enthalten ist, um immer die Möglichkeit zu haben, Meldungen/Warnungen anzuzeigen), weil er immer noch in der Sitzung gespeichert ist. Es wird also nicht nur eine alte Nachricht angezeigt, sondern auch eine Nachricht, die ich an einem ganz anderen Punkt in meiner Anwendung verwendet habe.
Ich frage mich, ob entweder der session()
Aufruf der Fehler ist oder ich die Sitzung leeren muss (wenn ja, wie und wann?) Oder wenn ich gerade etwas über die Kommunikation zwischen Controller und Ansicht vermasselt habe, seit ich gesehen habe (ebenfalls here), dass Leute den einzigen Variablennamen verwenden, wenn sie innerhalb der Ansicht auf sie zugreifen, und nicht auf session(). Also, hängt das vielleicht mit einer alten Laravel-Version zusammen (ich benutze die neueste Version), als es damals noch funktionierte oder etwas, das ich vermisse?
Vielen Dank für Ihre Vorschläge.
Warum verwenden Sie nicht $ request-> session() -> flash ('arrayName', 'Task war erfolgreich!'); ... – Serge
@Serge wie spielt das entlang der Funktion '' redirect() -> mit() 'ich früher? Bitte erläutern Sie dies. – John