代码之家  ›  专栏  ›  技术社区  ›  Teoman Tıngır

如何从会话中获取以特定键开始的所有值

  •  0
  • Teoman Tıngır  · 技术社区  · 6 年前

    作为标题,我想从会话中获取以某个值开头的所有值。

    例如,我正在计算项目中的post视图,并在会话中存储它们。然后我想在会话中访问所有存储的已查看值。。

    Session::put("views.".$post->id);
    

    如何获取所有存储的视图?

    有没有什么方法可以像下面这样做?

    Session::get("views.*");
    
    2 回复  |  直到 6 年前
        1
  •  1
  •   simonecosci    6 年前

    可以使用集合的筛选方法,如下所示:

    $session = collect(session()->all())->filter(function($value){
            if (!is_string($value))
                return false;
            return strpos($value, 'views.') === 0;
        })->all();
    
        2
  •  0
  •   Teoman Tıngır    6 年前

    我只是意识到,当我们使用“.”(点)分隔键时,拉维尔把它们放在不同的数组中(我的意思是创建多维数组),这样我就可以只使用父键来获取所有值。

    Session::get("views");