Php Laravel 5.1美元此->;验证(…)抛出错误

Php Laravel 5.1美元此->;验证(…)抛出错误,php,validation,laravel-5.1,Php,Validation,Laravel 5.1,我试图使用laravel的validation()将验证添加到我的资源控制器中,但出现以下错误: ErrorException in ValidatesRequests.php line 30: Argument 1 passed to App\Http\Controllers\Controller::validate() must be an instance of Illuminate\Http\Request, instance of Illuminate\Support\Facade

我试图使用laravel的validation()将验证添加到我的资源控制器中,但出现以下错误:

ErrorException in ValidatesRequests.php line 30:
Argument 1 passed to App\Http\Controllers\Controller::validate() must be an 
instance of Illuminate\Http\Request, 
instance of Illuminate\Support\Facades\Request given,
called in 
/Users/lextoc/Documents/Sites/partyrecycler/app/
Http/Controllers/MarkerController.php on line 30 and defined
这是控制器:

namespace App\Http\Controllers;

use Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\Marker;

class MarkerController extends Controller
{
    ...

    public function create()
    {
        return view('markers.create');
    }

    public function store(Request $request)
    {
        $this->validate($request, [
            'name'  => 'required|max:255',
            'x'     => 'required',
            'y'     => 'required',
        ]);

        $marker=Request::all();
        Marker::create($marker);
        return redirect('markers');
    }

    ...
}
以及以下观点:

<h1>Create marker</h1>
@if (count($errors) > 0)
    <div class="alert alert-danger">
        <ul>
            @foreach ($errors->all() as $error)
                <li>{{ $error }}</li>
            @endforeach
        </ul>
    </div>
@endif
{!! Form::open(array('route' => 'markers.store')) !!}
    {!! csrf_field() !!}

    <div>
        Name
        <input type="text" name="name">
    </div>

    <div>
        x
        <input type="text" name="x">
    </div>

    <div>
        y
        <input type="text" name="y">
    </div>

    <div>
        <button type="submit">Create</button>
    </div>
{!! Form::close() !!}
创建标记
@如果(计数($errors)>0)
    @foreach($errors->all()作为$error)
  • {{$error}}
  • @endforeach
@恩迪夫 {!!Form::open(数组('route'=>'markers.store')) {!!csrf_field()!!} 名称 x Y 创造 {!!Form::close()!!}

我不知道为什么它使用了错误的请求类,为什么控制器中使用了两个请求类?

错误是由于您的include头造成的:

试一试

而不是

use Request;
例如:

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\Marker;

print\r($request)
查看是否有任何数据,然后我得到以下错误:非静态方法illumb\Http\request::all()不应静态调用,假设$this来自不兼容的上下文。我查过了,他建议把它改回去哦,我明白了。而不是调用
$marker=Request::all()
,您应该调用:
$marker=$request->all()不用担心:)。很乐意帮忙
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\Marker;