Laravel 5 withInput old总是空的

Dio*_*nça 3 php laravel laravel-5

我正在使用Laravel 5构建一个简单的登录表单,我想在发生一些错误时默认填写一些输入.我的路由器正在调用这些函数

Route::get('/login','AuthController@login');
Route::post('/login','AuthController@do_login');
Run Code Online (Sandbox Code Playgroud)

我的控制器如下所示

namespace App\Http\Controllers;
use App;
use App\Models\User;
use Request;
use Illuminate\Support\Facades\Redirect;

class AuthController extends Controller {

   function login()
   {
       if(User::check())
       {
           /*User is logged, then cannot login*/
           return Redirect::back();
       }
       else
       {
           return view('auth.login');
       }
   }
    function do_login()
    {
        return view('auth.login')->withInput(Request::except("password"));
    }

}
Run Code Online (Sandbox Code Playgroud)

注意到PhpStorm强调withInput强调说它无法在Illuminate\View\View中找到它的实现.在我看来,我有以下几点:

            {!! Form::open() !!}
            <div class="form-group">
                {!! Form::text('email', Input::old('email'), array('placeholder' => Lang::get('auth.email'), 'class' => 'form-control')) !!}
            </div>
            <div class="form-group">
                {!! Form::password('password', array('placeholder' => Lang::get('auth.password'),'class'=>'form-control')) !!}
            </div>
            <div class="form-group">
                <button class="btn btn-primary btn-block">@lang('auth.signin')</button>
                <span class="pull-right"><a href="/{{App::getLocale()}}/register">@lang('auth.register')</a></span>
            </div>
        <input type="email" class="form-control" name="email" value="{{ old('email') }}">
        {!! Form::close() !!}
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?这可以在Laravel 5中完成吗?非常感谢您的时间!

cee*_*yoz 9

withInput() 用于在重定向期间保留输入.

如果你正在做的话,没有必要(也不可能)调用它return view().

您可以考虑让自己do_login这样做return redirect()->back()->withInput(Request::except("password"));,以正确实现Post/Redirect/Get.