В настоящее время я пытался поделиться переменной, которая использует идентификатор сеанса, вот так.
$currentSessionID = session()->getId();
$inCartDetails = Cart::where('session_id', $currentSessionID)->get();
View::share('inCartDetails', $inCartDetails);
Я поместил это в загрузку AppServiceProvider, но он не работал, потому что «данные сеанса недоступны в процессе загрузки приложения. Вы должны использовать промежуточное ПО, как сказал Тейлор Отвелл в« Добавить событие для сеанса, запущенного в сеансе ».
Я следовал, как говорится, и создал промежуточное программное обеспечение с именем CommonData
public function handle($request, Closure $next)
{
$currentSessionID = session()->getId();
$inCartDetails = Cart::where('session_id', $currentSessionID)->get();
View::share('inCartDetails', $inCartDetails);
// return $next($request);
}
Как бы я использовал эту переменную из промежуточного программного обеспечения в заголовке, который глобально присутствует во всех моих представлениях? Сам заголовок не имеет контроллера, поскольку он включен в основной блейд. Есть идеи?