【问题标题】:Can't retrieve session in Laravel Blade view无法在 Laravel Blade 视图中检索会话
【发布时间】:2021-02-11 06:08:23
【问题描述】:

我设置了一个控制器,如果验证失败则传递错误,如果通过则另一个消息。

if ($v->fails()) {
    return redirect('tickets/create')->withInput()->withErrors($v->errors());
} else {
    $ticket_id = $this->salvataggio($request);
    
    return redirect('tickets/' . $ticket_id . '/edit')
        ->with(['status' => 'success']);
}

在视图的刀片文件中,我可以读取错误变量但我无法读取状态。

@if(Session::has('status'))
   <div class="alert alert-success">{{Session::get('status')}}</div>
@endif

我已经阅读并尝试了许多检索 Session 的方法,但似乎不起作用。我已经在之前的 Laravel 5 项目中使用过这种方法,但是在这个版本(8.11.0)中,有什么变化吗?

【问题讨论】:

  • 您在哪个刀片文件中检查是否有名为“status”的会话变量?

标签: laravel laravel-blade laravel-8 laravel-session


【解决方案1】:

你必须先创建会话...

// Via a request instance...
$request->session()->put('status', 'success');

// Via the global helper...
session(['status' => 'success']);

然后您可以检索会话数据...

// Via a request instance...
$value = $request->session()->get('status');

// Via the global helper...
$value = session(['status']);

【讨论】:

    【解决方案2】:

    您使用了with 方法,因此您应该如下更改您的代码:

    @if($status)
       <div class="alert alert-success">{{$status}}</div>
    @endif
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-28
      • 2015-06-11
      • 2014-07-23
      • 1970-01-01
      • 1970-01-01
      • 2017-05-17
      • 1970-01-01
      • 2017-06-29
      相关资源
      最近更新 更多