isset在laravel中不起作用

时间:2018-07-08 08:04:30

标签: laravel isset

我正在从控制器向视图发送变量。

$message = "Thanks for Contacting";

 return redirect('services')->with($message);

HTML

 @isset ($message)
 <a style="color: red;"> {{$message}} </a>
@endisset

但是它显示en错误,因为从该路由加载第一个servicesRoute::get('/services', function () { return view('services'); });

没有变量,因此会出现错误。请让我知道我在想什么?

3 个答案:

答案 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