Laravel 如何检查会话变量是否为空?

4
我该如何检查这个会话是否为空?以下是示例:
 @elseif {{Session::get('package_id')}}=null
 @include('index.customer.customerpackage')

如何判断 {{Session::get('package_id')}} 是否等于1,如果是则免费,否则付费。


最好在控制器中准备一个变量。 - u_mulder
4个回答

10
你可以使用

标签。

@elseif (session()->has('package_id'))

要验证它是否处于会话中,或者在情况可能是会话但也设置为null的情况下,您可以使用:

@elseif (session()->get('package_id'))

为什么不直接使用 @elseif (session('package_id')) 呢? - Chuck Le Butt

1
在这里:
$value = $request->session()->get('package_id', function () {
    return 'Return this if session key does not exist';
});

0

目前 Laravel 8.XX 有几种方法:

要确定会话中是否存在某个项目,可以使用 has 方法。如果该项目存在且不为 null,则 has 方法返回 true。

if (session()->has('users')) {
    //
}

要确定一个项目是否存在于会话中,即使它的值为null,您可以使用exists方法。

if (session()->exists('users')) {
    //
}

要确定会话中是否不存在某个项目,您可以使用missing方法。

if (session()->missing('users')) {
    //
}

0

你可以使用它进行检查

if(session()->has('my_variable')) {
    // my_variable exists
} else {
    // my_variable does not exist
}

你也可以使用这种方式

if(empty(session('my_variable'))) {
    // my_variable is empty
} else {
    // my_variable is not empty
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接