无法在Laravel Blade视图中检索会话

问题描述

我将控制器设置为在验证失败时传递错误,并在通过验证时传递另一条消息。

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)中,是否发生了某些变化?

解决方法

您必须先创建会话...

// 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']);
,

您使用了with方法,因此您应该像下面那样更改代码:

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...