Laravel - 显示传递给视图的消息数据

Laravel - Displaying message data passed to a view

一个控制器函数returns一个视图并像这样传递一个变量:

return redirect('/projects')->with('message', 'Project created successfully');

然后在 /projects 页面上,我尝试像这样显示此消​​息:

@if ( isset( $message ) )


<div class="alert alert-success">

    <ul>

        <li>{{ $message }}</li>

        </ul>

    </div>

@endif

但似乎什么也没有出现。我做错了什么?

要显示您应该使用会话的消息:

{{ session('message') }}

你可以了解更多here

您将无法发送变量,但您可以刷新一些会话数据。

如果你需要为多个请求保留你的闪存数据,你 可以使用刷新方法,这将保留所有闪存数据 一个额外的请求。

在会话中存储数据:

$request->session()->put('message', 'project successfully created');
return redirect('/projects');

在视图中获取该数据:

 {{ session('message') }}

要在 laravel 的视图中传递 return 消息,您必须执行以下过程

@if($message = Session::get('message')){
<div class="alert alert-success">
   <p>{{$message}}</p>
</div>
}

会话正在获取您传递给视图的消息并将其显示在相关页面上。

对我来说,如果必须将消息传递给视图,我通常会这样做

return redirect()->route('/project')->with('message', 'project successfully created');

试试这个:

 ... ->with(["message" => "My message"]);