这是我的PostController.php,
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Depress;
use App\Http\Requests;
class PostController extends Controller
{
public function createPost(Request $request)
{
$depress = new Depress();
$depress->depression = $request['depression'];
if($request['name'])
$depress->name = $request['name'];
else
$depress->name = "Depressed Anonymous";
$depress->save();
\Session::flash('info','Success');
return redirect()->route('home');
}
}
这是我的alert.blade.php,
@if(Session::has('info'))
<div class="alert alert-success alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
{{ Session::get('info') }}
</div>
<br>
@endif
并且,我已将其包含在我的layout.blade.php
中但是,没有警报出现......
提前致谢
答案 0 :(得分:0)
无需使用会话闪存。使用laravel方式,
在您的控制器中
return Redirect::to('home')->with('success', 'You message here.');
在您的视图中
@if (isset($success))
<div class="alert alert-success alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
{!! $success !!}.
</div>
@endif
答案 1 :(得分:0)
更改此行:
\Session::flash('info','Success');
return redirect()->route('home');
要:
return redirect()->route('home')->with(['info' => 'Success']);
基本上,这会将您重定向到家。因此,您需要确保在处理路径home
的操作(函数)中,它返回到视图alert.balde.php
或使用alert.balde.php
的视图。我试过这样做,它对我有用。以下是我的代码:
在我的控制器中:
public function home()
{
return view('welcome');
}
public function test()
{
return redirect()->route('home')->with(['info' => 'Success']);
}
在我的welcome.blade.php
:
@if(Session::has('info'))
<div class="alert alert-success alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
{{ Session::get('info') }}
</div>
@endif
我会看到成功&#39;在视图中。
希望这有帮助。
答案 2 :(得分:0)
在返回时使用compact()并在其中传递该变量。你可以在视图中以普通的php变量访问它。