我从Laravel开始,我需要在视图中显示发布请求的输出。我的控制器文件返回一个带有消息的数组,如下所示:
return redirect('/myroute')
->with('message', [
'type' => 'success',
'text' => 'It works'
]);
在我的查看文件中,我试图获取消息文本,但没有成功。请参阅下面的代码
@if(Session::has('message'))
{{ $msg = Session::get('message') }}
<h4>{{ $msg->text }}</h4>
@endif
重点是:条件有效,如果我将{{$ msg-> text}}更改为任何有效的文本,但是当我尝试获取消息文本时,它将返回错误:
htmlspecialchars()期望参数1为字符串,给出数组
因此,对您有所帮助。如果需要更多信息,只需询问。
PS:我检查了this question,但没有成功 编辑: PS2:无法更改控制器结构
答案 0 :(得分:3)
尝试如下访问数组:
<h4>{{ $msg['text'] }}</h4>
或仅传递带有项目的数组
->with([
'type' => 'success',
'text' => 'It works'
]);
//in the view
@if(session()->has('text'))
<h4> {{ session('text') }} </h4>
@endif
-编辑
比在会话中重复这样:
@foreach (Session::get('message') as $msg)
{{$msg['text']}}
@endforeach
您可以了解有关here
的更多信息答案 1 :(得分:0)
改为执行此操作
return redirect('/myroute')->with('success','It worked');
然后在您的视图上
{{session('success')}}