Laravel - 显示传递给视图的消息数据
Posted
技术标签:
【中文标题】Laravel - 显示传递给视图的消息数据【英文标题】:Laravel - Displaying message data passed to a view 【发布时间】:2018-01-27 08:59:41 【问题描述】:控制器函数返回一个视图并传递一个变量,如下所示:
return redirect('/projects')->with('message', 'Project created successfully');
然后在 /projects 页面上,我尝试像这样显示此消息:
@if ( isset( $message ) )
<div class="alert alert-success">
<ul>
<li> $message </li>
</ul>
</div>
@endif
但似乎什么也没有出现。我做错了什么?
【问题讨论】:
【参考方案1】:要显示你应该使用会话的消息:
session('message')
您可以了解更多here
【讨论】:
【参考方案2】:您将无法发送变量,但您可以刷新一些会话数据。
如果您需要为多个请求保留闪存数据,您 可以使用刷新方法,它将保留所有闪存数据 一个额外的请求。
在会话中存储数据:
$request->session()->put('message', 'project successfully created');
return redirect('/projects');
在视图中获取该数据:
session('message')
【讨论】:
【参考方案3】:要在 laravel 中返回视图中传递的消息,您必须执行以下过程
@if($message = Session::get('message'))
<div class="alert alert-success">
<p>$message</p>
</div>
会话正在获取您传递给视图的消息并将其显示在相关页面上。
对我来说,如果我必须将消息传递给视图,我通常会这样做
return redirect()->route('/project')->with('message', 'project successfully created');
【讨论】:
【参考方案4】:试试这个:
... ->with(["message" => "My message"]);
【讨论】:
以上是关于Laravel - 显示传递给视图的消息数据的主要内容,如果未能解决你的问题,请参考以下文章
如何将 firebase 令牌传递给 Laravel 应用程序?