Laravel中如何在视图获取with方法传入的参数
解决Laravel重定向后视图无法获取布尔值的问题
你遇到的问题核心是:用redirect()->with()存储的数据是存在Session闪存中,而非直接传递给视图的变量,所以直接调用{{$questionWasCompleted}}是拿不到的。
具体解决方法
控制器里你用->with('question', $questionWasCompleted)把布尔值存在了Session的question键下,所以视图里需要从Session中读取这个值,有几种方式:
使用session辅助函数
直接在视图中通过键名读取:{{ session('question') }}做逻辑判断的话:
@if(session('question')) <!-- 已完成的逻辑 --> @else <!-- 未完成的逻辑 --> @endif使用@session指令(Laravel 5.8+)
可以更安全地处理Session数据(避免键不存在时报错):@session('question') @if($value) 问题已完成 @endif @endsession调试验证
如果还是拿不到,可以先在视图里打印所有Session数据,确认question键是否存在:{{ dd(session()->all()) }}这样能快速排查Session是否被正确设置。
注意点
控制器里存储的键名是question,不是questionWasCompleted,别搞混键名是关键。
内容的提问来源于stack exchange,提问作者Jefferson Farid
相关产品推荐
相关产品推荐

