代码之家  ›  专栏  ›  技术社区  ›  sealabr

laravel-控制器中的会话获取设置的最后一个值

  •  2
  • sealabr  · 技术社区  · 7 年前

    你好,我正在尝试在Laravel会话中存储值。 我想存储一个值以获取最后设置的值。

    我有这条路

    网页.php

    Route::prefix('v1')->group(function () {
        Route::get('/{lol}', 'MyController@test');
    });
    

    M控制器

    public function test($lol){
    
        if($lol == "lol" ){
            session(['lol' => $lol]);
        }
    
        dd(session()->get('lol'));
    
    }
    

    http://localhost/laravel/v1/lol =>返回值!好啊!

    http://localhost/laravel/v1/123 =>返回空值!,为什么?是吗?

    我想返回LOL,因为我需要会话中存储的最后一个值。

    我支持PHP中的$_会话可以很好地实现这一目的。

    但在拉拉维尔我不能用这个。

    2 回复  |  直到 7 年前
        1
  •  1
  •   Ohgodwhy    7 年前

    会话数据写入 terminable middleware 只适用于 after the request has been sent .因此,如果您试图在代码中使用会话变量 before 您已返回请求,这将不起作用。

    您在这里使用会话的方式将不起作用。

        2
  •  1
  •   Lucas Vinicius    7 年前

    我用过这段代码:

    基本上与您所做的代码相同,我注意到您能够在Laravel after的会话中设置值,You loggin in your application,You must be authenticated. 当我对这段代码进行字符串处理时,得到了相同的错误,第二个请求中的会话为空。

    基本上与您所做的代码相同,我注意到您能够在Laravel会话中设置值 之后 你在申请表上写了日志,你 必须 通过身份验证。 当我对这段代码进行字符串处理时,得到了相同的错误,第二个请求中的会话为空。