Php laravel 5.2中的路由错误

Php laravel 5.2中的路由错误,php,html,laravel,Php,Html,Laravel,有一条路线: Route::get('message/{id}/edit', ['uses' => 'HomeController@edit', 'as' => 'message.edit'])->where(['id' => '[0-9]+']); my HomeController中的代码: public function edit($id) { $data = [ 'title' => 'page', 'pagetit

有一条路线:

Route::get('message/{id}/edit', ['uses' => 'HomeController@edit', 'as' => 'message.edit'])->where(['id' => '[0-9]+']);
my HomeController中的代码:

public function edit($id) {
    $data = [
        'title' => 'page',
        'pagetitle' => 'page',
        'message' => Message::find($id)
    ];

    return view('pages.messages.edit', $data);
}
还有一个观点:

@extends('index')
@section('content')
    {!! Form::open(['route' => 'message.edit']) !!}
         @include('_common._form')
    {!! Form::close() !!}
@stop
我得到了这个错误:

ErrorException in UrlGenerationException.php line 17:
Missing required parameters for [Route: message.edit] [URI: message/{id}/edit]. (View: C:\OpenServer\domains\laravel\book\resources\views\pages\messages\edit.blade.php)
问题在哪里?
我尝试从代码中删除表单,效果很好。这意味着表单有问题。

您需要传递ID,因为您的路线需要它。

它应该如下所示:

{!! Form::open(['route' => ['message.edit', $message]]) !!}

我该怎么做呢?试试这个:
{!!Form::open(['route'=>['message.edit',$theId]])!!
其中
$theId
应该是真实的ID。例如,你通常使用
show
方法调用一个显示表单的视图,所以你应该把这个ID从
show($ID)
方法传递给一个视图,然后再传递给
edit($ID)
方法,如前所示。我想从HomeController中的编辑方法获取此ID,但您必须提供一个ID才能使用编辑方法。查看您的编辑方法:
public function edit($id)
-它需要$id。查看您的路径:
message/{id}/edit
-它也需要id。