View Share不返回更新的数据,然后如何共享实时数据?

时间:2019-05-17 17:57:15

标签: laravel

我目前有一个可以像这样访问数据的模型:

$currentSessionID = session()->getId();
$displayCart = Cart::where('session_id', $currentSessionID)->get();
return view('layouts.cart')->with('cartDetails', $displayCart);

此模型可以正确检索当前会话中的数据。
要在头文件中访问相同的数据,我在AppServiceProvider中使用View :: Share,如下所示:

public funciton boot() 
{
      $currentSessionID = session()->getId();
        $inCartDetails = Cart::where('session_id', $currentSessionID)->get();
        View::share('inCartDetails', $inCartDetails);
}

在我的刀片中,$ inCartDetails返回空。我得到[]。 我的怀疑是此功能仅在启动时被调用。因此命名为:),并且它是空的,因为在启动会话时它是空的,因为用户未选择任何内容。如果正确的话,我该如何将实时数据传递给多个视图?

1 个答案:

答案 0 :(得分:1)

该会话在服务提供者的引导方法中不可用。您应该为此创建一个中间件。在这里查看答案:How to retrieve session data in service providers in laravel?