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 - 显示传递给视图的消息数据的主要内容,如果未能解决你的问题,请参考以下文章

将数据从控制器传递到 Laravel 中的视图

如何将 firebase 令牌传递给 Laravel 应用程序?

Laravel - 将数据视图传递给查看而不保存到数据库

laravel:将视图插入数组

如何通过控制器将两个不同模型的值作为 Laravel 8 中的单个返回变量传递给视图文件

Laravel(4.1.24)将查询输出传递给视图时数组到字符串的转换