当前我正在尝试共享一个使用类似会话ID的变量。
$currentSessionID = session()->getId();
$inCartDetails = Cart::where('session_id', $currentSessionID)->get();
View::share('inCartDetails', $inCartDetails);
我已经将其放置在AppServiceProvider的启动中,但它不起作用,因为"在App Boot Process中无法访问会话数据,您应该使用像Taylor Otwell这样的中间件,例如在会话开始的添加事件中说的。"
我按照说的话进行了,并创建了一个名为Commondata
的中间件public function handle($request, Closure $next)
{
$currentSessionID = session()->getId();
$inCartDetails = Cart::where('session_id', $currentSessionID)->get();
View::share('inCartDetails', $inCartDetails);
// return $next($request);
}
我将如何在我所有观点上全球的标题中使用此变量?标题本身没有控制器,因为它包含在主叶片中。有什么想法吗?
为什么不使用session((helper?
将$inCartDetails
存储在变量会话中?
设置一个变量会话:
session(['inCartDetails' => $inCartDetails]);
在项目中的任何位置检索变量会话(路由,控制器和视图(:
echo session('inCartDetails'); // or {{ session('inCartDetails') }} for blade views