Для вывода сообщения с помощью метода with('success') в Laravel, есть несколько подходов. Вот некоторые из них:
1. С использованием функции-помощника session():
Метод with() возвращает экземпляр объекта RedirectResponse, который имеет метод session(). Мы можем использовать эту функцию для установки значений в сессию их последующего отображения. Например:
return redirect()->route('home')->with('success', 'Сообщение об успехе!');
Далее, в представлении или шаблоне, можно проверить наличие сообщения об успехе и отобразить его с помощью функций-помощников session() и соответствующего ключа:
@if (session()->has('success')) <div class="alert alert-success"> {{ session('success') }} </div> @endif
2. С использованием объекта сообщений:
Laravel предоставляет также объект сообщений, который можно использовать для сохранения сообщений для отображения в следующем запросе. Пример:
session()->flash('success', 'Сообщение об успехе!'); return redirect()->route('home');
Аналогично, в представлении или шаблоне, можно проверить наличие сообщения об успехе и отобразить его:
@if (session()->has('success')) <div class="alert alert-success"> {{ session('success') }} </div> @endif
3. С использованием фасада Session:
Laravel также предоставляет фасад Session, который можно использовать для установки и получения значений из сессии. Пример:
use IlluminateSupportFacadesSession; Session::flash('success', 'Сообщение об успехе!'); return redirect()->route('home');
Проверка наличия сообщения и его отображение будет аналогичным предыдущим:
@if (Session::has('success')) <div class="alert alert-success"> {{ Session::get('success') }} </div> @endif
Важно учесть, что сообщения, установленные с помощью метода with(), метода flash() или посредством фасада Session, будут доступны только в следующем запросе и будут автоматически удалены после его отображения.