isset 在 laravel 中不工作
isset is not working in laravel
我正在将变量从控制器发送到视图。
$message = "Thanks for Contacting";
return redirect('services')->with($message);
HTML
@isset ($message)
<a style="color: red;"> {{$message}} </a>
@endisset
但它显示错误,因为当第一个 services
是从这条路线加载时
Route::get('/services', function () {
return view('services');
});
没有变量,所以报错。请让我知道我缺少什么?
你必须和@if一起使用,
试试这个:
@if(session()->has('message'))
<a style="color: red;"> {{ session('message')}} </a>
@endif
并像这样更改您的控制器:
return redirect('services')->with('message', $message);
在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
问题是您如何将变量传递给您的视图。
正确的方法是:
return view('services')->with('message', $message);
或
return view('services')->withMessage($message);
或
return view('services', ['message' => $message]);
或
return view('services', compact('message'));
我正在将变量从控制器发送到视图。
$message = "Thanks for Contacting";
return redirect('services')->with($message);
HTML
@isset ($message)
<a style="color: red;"> {{$message}} </a>
@endisset
但它显示错误,因为当第一个 services
是从这条路线加载时
Route::get('/services', function () {
return view('services');
});
没有变量,所以报错。请让我知道我缺少什么?
你必须和@if一起使用, 试试这个:
@if(session()->has('message'))
<a style="color: red;"> {{ session('message')}} </a>
@endif
并像这样更改您的控制器:
return redirect('services')->with('message', $message);
在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
问题是您如何将变量传递给您的视图。
正确的方法是:
return view('services')->with('message', $message);
或
return view('services')->withMessage($message);
或
return view('services', ['message' => $message]);
或
return view('services', compact('message'));