我的警报没有在laravel 5中显示

时间:2016-06-24 14:52:05

标签: php laravel laravel-5 laravel-5.1 laravel-5.2

这是我的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">&times;</span></button>
        {{ Session::get('info') }}
    </div>
    <br>
@endif

并且,我已将其包含在我的layout.blade.php

但是,没有警报出现......

提前致谢

3 个答案:

答案 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">&times;</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">&times;</span></button>
        {{ Session::get('info') }}
    </div>
@endif

我会看到成功&#39;在视图中。

希望这有帮助。

答案 2 :(得分:0)

在返回时使用compact()并在其中传递该变量。你可以在视图中以普通的php变量访问它。