我正在从控制器向视图发送变量。
$message = "Thanks for Contacting";
return redirect('services')->with($message);
HTML
@isset ($message)
<a style="color: red;"> {{$message}} </a>
@endisset
但是它显示en错误,因为从该路由加载第一个services
时
Route::get('/services', function () {
return view('services');
});
没有变量,因此会出现错误。请让我知道我在想什么?
答案 0 :(得分:2)
问题在于如何将变量传递给视图。
正确的方法是:
return view('services')->with('message', $message);
或
return view('services')->withMessage($message);
或
return view('services', ['message' => $message]);
或
return view('services', compact('message'));
答案 1 :(得分:1)
您必须将其与@if一起使用, 试试这个:
@if(session()->has('message'))
<a style="color: red;"> {{ session('message')}} </a>
@endif
并同样更改您的控制器:
return redirect('services')->with('message', $message);
答案 2 :(得分:0)
在redirect()->with()
中设置的变量将保存到会话变量,因此要访问它,只需调用session()
helper。示例:
@if (session('message'))
<div class="alert alert-success">
{{ session('message') }}
</div>
@endif
更多说明: https://laravel.com/docs/5.6/redirects#redirecting-with-flashed-session-data