Class' App \ Http \ Controllers \ Flash'在Laravel 5.1中找不到

时间:2015-08-27 17:20:09

标签: laravel-5.1

我尝试了很多,谷歌搜索甚至从laracast.com/discuss获得帮助,但无法解决问题。为什么会话闪存不起作用?请放弃你的建议。这是我的all_controll.php代码

<?php

namespace App\Http\Controllers;
use DB;
use App\Quotation;
use App\Model\students;
use Illuminate\Http\Request;
//use Auth;
use Illuminate\Support\Facades\Auth;
use App\Http\Requests;
use App\Http\Controllers\Session;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Input;
use Illuminate\Support\Facades\Redirect;


class all_control extends Controller
{
    public function index()
    {
        return view('index');
    }
    public function insert_students(Request $request)
    {
        $std = new students();
        $std->name = $request->input('name');
        $std->email = $request->input('email');
        $std->save();
        return redirect('/index');
    }
    public function getform()
    {
        return view('form');
    }
    public function postform()
    {
        $roll = Input::get('roll');
        $ct_number = Input::get('ct');
        DB::table('test')->insert(array(
            'name'  =>  $roll,
            'age'   =>  $ct_number
        ));
        Flash :: Session ("key",
            "You have done successfully!!!!");
        //Session::flash('message','You have done successfully!!!!');
        return Redirect::route('getform');
        //return redirect('/index');
    }
}

我的form.blade.php代码如下所示

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Title</title>
        <meta charset="UTF-8">
        <meta name=description content="">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">

        <!-- Bootstrap CSS -->
        <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" media="screen">
    </head>
    <body>
    <div class="container">
        <h1>Form</h1>
        <h3>
            <?php
            if(Session::has('key')){
                echo Session::get('key');
            }
            ?>
        </h3>

        <form action="{{ URL::route('postform') }}" method="post" role="form">
            <input type="hidden" name="_token" value="{{ csrf_token() }}">
            <legend>Form Title</legend>

            <div class="form-group">
                <label for="">name</label>
                <input type="text" class="form-control" name="roll" id="roll" placeholder="Input...">
            </div>

            <div class="form-group">
                <label for="">Marks of Physisc CT</label>
                <input type="number" class="form-control" name="ct" id="ct" placeholder="Input...">
            </div>

            <button type="submit" class="btn btn-primary">Hit the Button</button>
        </form>
    </div>


    </body>
</html>

3 个答案:

答案 0 :(得分:3)

您可以使用X_test将内置的redirect() helper which will flash the data用于会话。

->with()

旁注:

public function postform(Request $request) { $roll = $request->roll; $ct_number = $request->ct; DB::table('test')->insert([ 'name' => $roll, 'age' => $ct_number ]); return redirect('index')->with('key', 'You have done successfully'); } 注入您的方法并使用它代替Request。在laravel 4中使用Input,而在laravel 5.1中注入Input类是推荐的方式

答案 1 :(得分:2)

我也遇到了一些问题。

我的解决方案是将use Flash;包含在您想要使用Laracasts Flash插件的控制器之上。

希望这有帮助。

答案 2 :(得分:0)

返回重定向() - &gt;路由(&#39; posts.index&#39;) - &gt; with(&#39; success_msg&#39;,&#39;发布删除成功&#39;); < / p>

此处Success_msg用于在重定向页面上显示msg。